package a.f.d.a;

import a.c.ab;
import a.c.bb;
import a.c.k;
import a.c.m;
import a.c.n;
import a.c.x;
import a.c.z;
import a.d.t;
import a.f.cd;
import a.f.o;

import java.util.*;

public class uc
  implements gc
{
  private static final double a = 3.0D;
  private static final int b = 20000;
  private static final int c = 1000;
  private v d;
  private int e = 800;
  private int f = 16000;
  private int g = 32000;
  private int h = 40;
  private int i = 16000;
  private static final int j = 2520;
  private bc k;
  private double l = 0.5D;
  private boolean m;
  private double n = 0.0D;
  private double o = 0.0D;
  private boolean p = true;
  private boolean q = true;
  private boolean r = true;
  private long s = 9223372036854775807L;
  public static final int t = 0;
  public static final int u = 1;
  private int v = 0;
  private boolean w = true;
  private boolean x = false;
  private boolean y = false;
  private boolean z = false;
  public static int A;
  
  public boolean a()
  {
    return this.w;
  }
  
  public void a(boolean paramBoolean)
  {
    this.w = paramBoolean;
  }
  
  public boolean b()
  {
    return this.x;
  }
  
  public void b(boolean paramBoolean)
  {
    this.x = paramBoolean;
  }
  
  public boolean c()
  {
    return this.z;
  }
  
  public void c(boolean paramBoolean)
  {
    this.z = paramBoolean;
  }
  
  public int d()
  {
    return this.v;
  }
  
  public void a(int paramInt)
  {
    this.v = paramInt;
  }
  
  public boolean e()
  {
    return this.r;
  }
  
  public void d(boolean paramBoolean)
  {
    this.r = paramBoolean;
  }
  
  boolean f()
  {
    return this.p;
  }
  
  void e(boolean paramBoolean)
  {
    this.p = paramBoolean;
  }
  
  public boolean g()
  {
    return this.q;
  }
  
  public void f(boolean paramBoolean)
  {
    this.q = paramBoolean;
  }
  
  public long h()
  {
    return this.s;
  }
  
  public void a(long paramLong)
  {
    this.s = paramLong;
  }
  
  public void a(double paramDouble)
  {
    if ((d.R) || ((paramDouble < 0.0D) || (paramDouble > 1.0D))) {
      throw new IllegalArgumentException();
    }
    this.o = paramDouble;
  }
  
  public double i()
  {
    return this.o;
  }
  
  public void g(boolean paramBoolean)
  {
    this.m = paramBoolean;
  }
  
  public boolean j()
  {
    return this.m;
  }
  
  private static boolean a(bc parambc, a.c.e parame)
  {
    boolean bool = d.R;
    if ((bool) || (((o)parame.g()).s(parame) == 0.0D)) {
      if (bool) {}
    }
    return parambc.a(parame).d() == 1;
  }
  
  private static boolean c(bc parambc, a.c.e parame)
  {
    boolean bool = d.R;
    int i1 = parambc.a(parame).d();
    if (!bool) {
      if (i1 != 12) {
        if (bool) {
          break label38;
        }
      }
    }
    label38:
    return i1 == 13;
  }
  
  private void a(ac paramac, bc parambc, n paramn, int[] paramArrayOfInt)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    int i1 = paramac.a();
    int i2 = 1;
    label35:
    label306:
    label326:
    label340:
    label355:
    do
    {
      if (i2 >= i1) {
        break;
      }
      int i3 = -1;
      int i4 = 0;
      do
      {
        int i5 = 0;
        a.c.v localv1 = paramac.a(i2).c().f();
        a.c.v localv2 = localv1;
        do
        {
          if (localv2 == null) {
            break label355;
          }
          a.c.e locale1 = (a.c.e)localv2.c();
          a.c.e locale2 = null;
          int i6 = 0;
          if (bool1) {
            break;
          }
          if (locale1.d() == 1)
          {
            locale2 = locale1.i().e();
            if (bool2) {
              break label137;
            }
            if (a(parambc, locale2))
            {
              if (bool2) {
                break label137;
              }
              if (a(parambc, locale1)) {
                i6 = 1;
              }
            }
          }
          if (!bool2) {
            if (i5 != paramac.a(i2).c().size() - 1)
            {
              if (bool2) {
                continue;
              }
              if (i6 == 0) {
                break label340;
              }
            }
          }
          if (!bool2) {}
          int i7 = i6 != 0 ? paramArrayOfInt[locale2.f()] : paramac.a(i2 - 1).c().size();
          do
          {
            do
            {
              if (i4 > i5) {
                break label326;
              }
              break label259;
              a.c.e locale3 = (a.c.e)localv1.c();
              if (bool1) {
                break;
              }
              a.c.d locald = locale3.i();
              do
              {
                if (locald == null) {
                  break label306;
                }
                int i8 = paramArrayOfInt[locald.e().f()];
                if (bool1) {
                  break;
                }
                if (i8 >= i3)
                {
                  if (bool2) {
                    continue;
                  }
                  if (i8 <= i7) {}
                }
                else
                {
                  paramn.a(locald, true);
                }
                locald = locald.j();
              } while (!bool1);
              localv1 = localv1.a();
              i4++;
            } while (bool2);
          } while (!bool1);
          if (bool2) {
            break label35;
          }
          i3 = Math.max(i3, i7);
          i5++;
          localv2 = localv2.a();
        } while (!bool1);
        i2++;
      } while (bool2);
    } while (!bool1);
    label137:
  }
  
  private void a(ac paramac, bc parambc, n paramn)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    int i1 = paramac.a();
    int i2 = 1;
    label110:
    do
    {
      do
      {
        do
        {
          Object localObject;
          do
          {
            if (i2 >= i1) {
              break;
            }
            ab localab = new ab();
            vb localvb = paramac.a(i2);
            localObject = localvb.c().l();
            do
            {
              if (!((a.c.w)localObject).e()) {
                break label110;
              }
              a.c.e locale = ((a.c.w)localObject).d();
              localab.a(locale.m());
              ((a.c.w)localObject).f();
              if ((!bool2) && (bool1)) {
                break;
              }
            } while (!bool1);
            localObject = localab.p();
          } while (bool2);
          int i3 = 0;
          do
          {
            if (i3 >= localObject.length) {
              break label221;
            }
            a.c.d locald1 = localObject[i3];
            if (bool1) {
              break;
            }
            int i4 = i3 + 1;
            do
            {
              do
              {
                if (i4 >= localObject.length) {
                  break label208;
                }
                a.c.d locald2 = localObject[i4];
                if (bool1) {
                  break;
                }
                if (a(locald1, locald2, parambc))
                {
                  paramn.a(locald1, true);
                  paramn.a(locald2, true);
                }
                i4++;
              } while (!bool1);
              i3++;
            } while (bool2);
          } while (!bool1);
          i2++;
        } while (bool2);
      } while (!bool1);
    } while (bool2);
    label208:
    label221:
    return;
  }
  
  private void a(ac paramac, bc parambc, n paramn1, n paramn2, int[] paramArrayOfInt)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    int i1 = paramac.a();
    int i2 = 1;
    label35:
    label255:
    do
    {
      if (i2 >= i1) {
        break;
      }
      int i3 = -1;
      int i4 = 0;
      do
      {
        int i5 = 0;
        a.c.v localv1 = paramac.a(i2).c().f();
        a.c.v localv2 = localv1;
        do
        {
          if (localv2 == null) {
            break label361;
          }
          a.c.e locale1 = (a.c.e)localv2.c();
          ec localec = parambc.a(locale1);
          a.c.e locale2 = null;
          int i6 = 0;
          if (bool1) {
            break;
          }
          if (locale1.d() == 1)
          {
            locale2 = locale1.i().e();
            if (bool2) {
              break label133;
            }
            if (c(parambc, locale1)) {
              i6 = 1;
            }
          }
          if (!bool2) {
            if (i5 != paramac.a(i2).c().size() - 1)
            {
              if (bool2) {
                continue;
              }
              if (i6 == 0) {
                break label346;
              }
            }
          }
          if (!bool2) {}
          int i7 = i6 != 0 ? paramArrayOfInt[locale2.f()] : paramac.a(i2 - 1).c().size();
          do
          {
            do
            {
              if (i4 > i5) {
                break label332;
              }
              break label255;
              a.c.e locale3 = (a.c.e)localv1.c();
              if (bool1) {
                break;
              }
              a.c.d locald = locale3.i();
              do
              {
                if (locald == null) {
                  break label312;
                }
                int i8 = paramArrayOfInt[locald.e().f()];
                if (bool1) {
                  break;
                }
                if (i8 >= i3)
                {
                  if (bool2) {
                    continue;
                  }
                  if (i8 <= i7) {}
                }
                else
                {
                  paramn1.a(locald, true);
                  paramn2.a(locald, true);
                }
                locald = locald.j();
              } while (!bool1);
              localv1 = localv1.a();
              i4++;
            } while (bool2);
          } while (!bool1);
          if (bool2) {
            break label35;
          }
          i3 = Math.max(i3, i7);
          i5++;
          localv2 = localv2.a();
        } while (!bool1);
        i2++;
      } while (bool2);
    } while (!bool1);
    label133:
    label312:
    label332:
    label346:
    label361:
    return;
  }
  
  public void a(o paramo, bc parambc, ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (this.q)
      {
        int i1 = 0;
        a.c.w localw = paramo.v();
        do
        {
          if (!localw.e()) {
            break;
          }
          if (bool1) {
            break label95;
          }
          if (a(paramo, parambc, localw.d(), true))
          {
            i1 = 1;
            if (!bool2) {
              if (!bool1) {
                break;
              }
            }
          }
          else
          {
            localw.f();
          }
        } while (!bool1);
        if (!bool2)
        {
          if (i1 != 0)
          {
            label95:
            b(paramac, paramo, parambc);
            if (bool2) {
              break label129;
            }
            if (!bool1) {
              return;
            }
          }
          if (bool2) {
            break label136;
          }
          a(paramac, paramo, parambc);
        }
        if (!bool1) {
          label129:
          return;
        }
      }
    }
    label136:
    a(paramac, paramo, parambc);
  }
  
  private void a(ac paramac, o paramo, bc parambc)
  {
    boolean bool = d.Q;
    double d1 = 0.0D;
    int i1 = 0;
    do
    {
      if (i1 >= paramac.a()) {
        break;
      }
      vb localvb = paramac.a(i1);
      double d2 = a(paramo, parambc, localvb);
      d2 = Math.max(d2, a(paramo, localvb.c()));
      a(paramo, parambc, i1, localvb.c(), d2, d1);
      d1 += d2;
      i1++;
    } while (!bool);
  }
  
  private double a(o paramo, z paramz)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    double d1 = 0.0D;
    a.c.v localv = paramz.f();
    do
    {
      if (localv == null) {
        break;
      }
      double d2 = paramo.t((a.c.e)localv.c());
      if (!bool2)
      {
        if (bool1) {
          break label67;
        }
        d1 = Math.max(d1, d2);
        localv = localv.a();
      }
    } while (!bool1);
    label67:
    return d1;
  }
  
  private void a(o paramo, bc parambc, int paramInt, z paramz, double paramDouble1, double paramDouble2)
  {
    boolean bool = d.Q;
    a.c.v localv = paramz.f();
    do
    {
      if (localv == null) {
        break;
      }
      a.c.e locale = (a.c.e)localv.c();
      double d1 = paramo.t((a.c.e)localv.c());
      double d2 = a(paramo, parambc, locale, paramInt, paramDouble1);
      double d3 = paramDouble2 + d2 * (paramDouble1 - d1);
      paramo.a(locale, paramo.m(locale), d3 + d1 * 0.5D);
      localv = localv.a();
    } while (!bool);
  }
  
  private void a(o paramo, bc parambc, int paramInt, a.c.e parame, z paramz, double paramDouble1, double paramDouble2)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    double d1 = paramo.n(parame);
    a.c.v localv1 = paramz.f();
    Object localObject;
    do
    {
      do
      {
        if (localv1 == null) {
          break;
        }
        if (!bool2)
        {
          if (localv1.c().equals(parame)) {
            break;
          }
          localv1 = localv1.a();
        }
      } while (!bool1);
      localObject = null;
    } while (bool2);
    a.c.v localv2 = paramz.f();
    if (localv2 != null) {
      if (!bool2) {
        if (localv2 == localv1)
        {
          localObject = localv2;
          localv1 = localv1.a();
          do
          {
            do
            {
              if (localv1 == null) {
                break;
              }
              if (bool1) {
                break label224;
              }
              if (!bool2)
              {
                if (a(paramo, parambc, (a.c.e)localv1.c(), true)) {
                  break;
                }
                localv1 = localv1.a();
              }
            } while (!bool1);
          } while (bool2);
          if (localv1 == null)
          {
            if (bool2) {
              break label217;
            }
            d1 = paramo.n((a.c.e)localObject.c());
            if (!bool1) {
              break label219;
            }
          }
          label217:
          d1 = 0.5D * (paramo.n((a.c.e)localv1.c()) + paramo.n((a.c.e)localObject.c()));
        }
      }
    }
    label219:
    label224:
    label361:
    label370:
    while (bool2)
    {
      a.c.e locale = (a.c.e)localv2.c();
      if (!bool2)
      {
        if (a(paramo, parambc, locale, true)) {
          paramo.a(locale, paramo.m(locale), paramo.n(locale));
        }
      }
      else
      {
        if (bool2) {
          break label370;
        }
        if (!bool1) {
          break label361;
        }
      }
      double d2 = paramo.t((a.c.e)localv2.c());
      double d3 = a(paramo, parambc, locale, paramInt, paramDouble1);
      if (!bool2) {
        if (d2 < 1.0D)
        {
          if (bool2) {
            break label338;
          }
          d4 = d1;
          if (!bool1) {
            break label340;
          }
        }
      }
      double d4 = paramDouble2 + d3 * (paramDouble1 - d2);
      paramo.a(locale, paramo.m(locale), d4 + d2 * 0.5D);
      localv2 = localv2.a();
      if (!bool1) {
        break;
      }
    }
    label338:
    label340:
    return;
  }
  
  private void b(ac paramac, o paramo, bc parambc)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    a.c.e[] arrayOfe = new a.c.e[paramac.a()];
    double[] arrayOfDouble1 = new double[paramac.a()];
    double[] arrayOfDouble2 = new double[paramac.a()];
    int i1 = -1;
    int i2 = 0;
    vb localvb;
    label239:
    label499:
    label501:
    label504:
    label506:
    do
    {
      double d3;
      double d4;
      do
      {
        if (i2 >= paramac.a()) {
          break label509;
        }
        localvb = paramac.a(i2);
        arrayOfDouble2[i2] = Math.max(a(paramo, parambc, localvb), a(paramo, localvb.c()));
        if (bool2) {
          break label517;
        }
        if (bool1) {
          break label516;
        }
        if (localvb.d() != 0) {
          break label501;
        }
        double d1 = 1.7976931348623157E+308D;
        double d2 = -1.797693134862316E+308D;
        a.c.w localw = localvb.c().l();
        do
        {
          if (!localw.e()) {
            break label239;
          }
          a.c.e locale = localw.d();
          if (bool1) {
            break;
          }
          if (a(paramo, parambc, locale, true))
          {
            if ((bool2) || (arrayOfe[i2] == null)) {
              arrayOfe[i2] = locale;
            }
            d1 = Math.min(d1, paramo.q(locale));
            d2 = Math.max(d2, paramo.q(locale) + paramo.t(locale));
          }
          localw.f();
        } while (!bool1);
        if (bool2) {
          break;
        }
        if (arrayOfe[i2] == null) {
          break label501;
        }
        if (!bool2) {
          if (arrayOfDouble2[i2] > d2 - d1)
          {
            d3 = (arrayOfDouble2[i2] - (d2 - d1)) * 0.5D;
            d1 -= d3;
            d2 += d3;
            arrayOfDouble2[i2] = (d2 - d1);
            break label325;
          }
        }
        arrayOfDouble2[i2] = (d2 - d1);
        arrayOfDouble1[i2] = d1;
        if (bool2) {
          break label499;
        }
        if (i2 <= 0) {
          break label492;
        }
        d3 = 0.0D;
        int i3 = i2 - 1;
        do
        {
          if (i3 <= i1) {
            break;
          }
          d3 += arrayOfDouble2[i3];
          i3--;
          if (bool2) {
            break label499;
          }
          if (bool1) {
            break label492;
          }
        } while (!bool1);
        d4 = 20.0D;
      } while (bool2);
      if (!bool2) {
        if (i1 > -1)
        {
          double d5 = arrayOfDouble1[i2] - (arrayOfDouble1[i1] + arrayOfDouble2[i1]);
          d4 = (d5 - d3) / (i2 - i1);
        }
      }
      int i4 = i2 - 1;
      do
      {
        if (i4 <= i1) {
          break;
        }
        arrayOfDouble1[i4] = (arrayOfDouble1[(i4 + 1)] - arrayOfDouble2[i4] - d4);
        i4--;
        if (bool2) {
          break label506;
        }
        if (bool1) {
          break label504;
        }
      } while (!bool1);
      if (!bool2)
      {
        i1 = i2;
        i2++;
      }
    } while (!bool1);
    label325:
    label492:
    label509:
    if (!bool2) {
      if ((bool2) || (i1 > -1)) {
        i2 = i1 + 1;
      }
    }
    label516:
    label517:
    while (bool2) {
      do
      {
        if (i2 >= paramac.a()) {
          break;
        }
        arrayOfDouble1[i2] = (arrayOfDouble1[(i2 - 1)] + arrayOfDouble2[(i2 - 1)] + 20.0D);
        i2++;
        if (bool2) {
          break label594;
        }
        if (bool1) {
          break label592;
        }
      } while (!bool1);
    }
    i2 = 0;
    label592:
    label594:
    do
    {
      if (i2 >= paramac.a()) {
        break;
      }
      localvb = paramac.a(i2);
      if (!bool2)
      {
        if (arrayOfe[i2] != null) {
          a(paramo, parambc, i2, arrayOfe[i2], localvb.c(), arrayOfDouble2[i2], arrayOfDouble1[i2]);
        }
      }
      else
      {
        if (bool2) {
          continue;
        }
        if (!bool1) {
          break label691;
        }
      }
      a(paramo, parambc, i2, localvb.c(), arrayOfDouble2[i2], arrayOfDouble1[i2]);
      i2++;
    } while (!bool1);
    label691:
  }
  
  protected boolean a(o paramo, bc parambc, a.c.e parame, boolean paramBoolean)
  {
    boolean bool = d.R;
    if (parame == null) {
      return false;
    }
    ec localec = parambc.a(parame);
    if (paramBoolean)
    {
      if (((bool) || (localec != null)) && ((bool) || (localec.d() == 0))) {
        if (!bool) {
          if (localec.l().a() != 6) {
            if (bool) {
              break label90;
            }
          }
        }
      }
      label90:
      return localec.l().a() == 4;
    }
    if (((bool) || (localec != null)) && ((bool) || (localec.d() == 0))) {
      if (!bool) {
        if (localec.l().a() != 5) {
          if (bool) {
            break label159;
          }
        }
      }
    }
    label159:
    return localec.l().a() == 4;
  }
  
  protected double a(o paramo, bc parambc, vb paramvb)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    double d1 = 0.0D;
    int i1 = 0;
    a.c.v localv = paramvb.c().f();
    do
    {
      if (localv == null) {
        break;
      }
      a.c.e locale = (a.c.e)localv.c();
      fc localfc = parambc.a(locale).m();
      if (bool1) {
        break label109;
      }
      if (localfc != null)
      {
        i1 = 1;
        d1 = Math.max(d1, localfc.c());
      }
      localv = localv.a();
    } while (!bool1);
    label109:
    return (!bool2) && (i1 != 0) ? d1 : this.n;
  }
  
  protected double a(o paramo, bc parambc, a.c.e parame, int paramInt, double paramDouble)
  {
    fc localfc = parambc.a(parame).m();
    return (d.R) || (localfc != null) ? localfc.a() : this.l;
  }
  
  public void a(o paramo, bc parambc, ac paramac, v paramv)
  {
    boolean bool6 = d.R;
    boolean bool5 = d.Q;
    long l1 = System.currentTimeMillis();
    this.k = parambc;
    this.d = paramv;
    int[] arrayOfInt1 = new int[paramo.j()];
    int[] arrayOfInt2 = new int[paramo.j()];
    int i1 = -1;
    int i2 = 0;
    int i3 = 0;
    label53:
    if (i3 < paramac.a()) {}
    label238:
    while (bool6)
    {
      int i4 = 0;
      if (bool5) {
        break label290;
      }
      localObject1 = paramac.a(i3).c().f();
      do
      {
        if (localObject1 == null) {
          break label238;
        }
        localObject2 = (a.c.e)((a.c.v)localObject1).c();
        if (bool5) {
          break;
        }
        if (a(paramo, parambc, (a.c.e)localObject2, false)) {
          i2 = 1;
        }
        int i5 = ((a.c.e)localObject2).f();
        arrayOfInt1[i5] = (i4++);
        localObject3 = this.k.a((a.c.e)localObject2).n();
        if ((bool6) || (localObject3 != null))
        {
          int i6 = ((vc)localObject3).j();
          arrayOfInt2[i5] = i6;
          i1 = Math.max(i1, i6);
          if (bool6) {
            continue;
          }
          if (bool5)
          {
            if (!bool6) {}
            a.c.q.n = !a.c.q.n;
          }
        }
        else
        {
          arrayOfInt2[i5] = -1;
        }
        localObject1 = ((a.c.v)localObject1).a();
      } while (!bool5);
      i3++;
      if (bool6) {
        break label53;
      }
      if (!bool5) {
        break;
      }
    }
    if ((bool6) || (a())) {
      if (bool6) {}
    }
    label290:
    i3 = h() > paramo.m() ? 1 : 0;
    k localk = paramo.c(a.f.d.e.w);
    Object localObject1 = paramo.c("y.layout.hierarchic.incremental.SimlexNodePlacer.NODE_TO_ALIGN_WITH");
    Object localObject2 = a.i.db.b(new boolean[paramo.l()]);
    if ((bool6) || ((localk != null) || (localObject1 != null)))
    {
      localn1 = a.i.db.b(new boolean[paramo.l()]);
      a(paramo, paramac, parambc, localn1, (k)localObject1);
      localObject3 = paramo.w();
    }
    while (((m)localObject3).e())
    {
      localObject4 = ((m)localObject3).a();
      if (bool6) {
        break label491;
      }
      if (bool5) {
        break label477;
      }
      if (!bool6) {}
      ((n)localObject2).a(localObject4, !localn1.getBool(localObject4));
      ((m)localObject3).f();
      if (bool5)
      {
        if (!bool6)
        {
          if (i3 != 0)
          {
            if (bool6) {
              break label469;
            }
            a(paramac, parambc, (n)localObject2);
          }
        }
        else {
          if (!bool5) {
            break;
          }
        }
        label469:
        a(paramac, parambc, (n)localObject2, arrayOfInt1);
      }
    }
    label477:
    n localn1 = a.i.db.b();
    a(paramac, parambc, (n)localObject2, localn1, arrayOfInt1);
    label491:
    Object localObject3 = new a.c.q();
    Object localObject4 = ((a.c.q)localObject3).C();
    n localn2 = ((a.c.q)localObject3).C();
    a.c.e[] arrayOfe1 = new a.c.e[paramo.l()];
    a.c.e[] arrayOfe2 = new a.c.e[paramo.j()];
    a.c.e locale1 = ((a.c.q)localObject3).i();
    a.c.e locale2 = ((a.c.q)localObject3).i();
    a.c.e locale3 = null;
    int i7 = i1 + 1;
    double[] arrayOfDouble1 = null;
    double[] arrayOfDouble2 = null;
    a.c.e[] arrayOfe3 = null;
    Object localObject5;
    label1171:
    if ((bool6) || (i7 > 0))
    {
      arrayOfe3 = new a.c.e[i7 - 1];
      arrayOfDouble1 = new double[i7];
      arrayOfDouble2 = new double[i7];
      double[] arrayOfDouble3 = new double[i7];
      localObject5 = new double[i7];
      int i11 = 0;
      int i13 = paramac.a();
      int i14;
      label825:
      label827:
      do
      {
        do
        {
          if (i11 >= i13) {
            break;
          }
          i14 = 0;
          if (bool6) {
            break label840;
          }
          if (bool5) {
            break label838;
          }
          a.c.v localv = paramac.a(i11).c().f();
          do
          {
            if (localv == null) {
              break;
            }
            localObject8 = (a.c.e)localv.c();
            int i16 = ((a.c.e)localObject8).f();
            arrayOfInt1[i16] = (i14++);
            localObject10 = this.k.a((a.c.e)localObject8).n();
            if (bool6) {
              break label827;
            }
            if (bool5) {
              break label825;
            }
            if ((bool6) || (localObject10 != null))
            {
              int i18 = ((vc)localObject10).j();
              arrayOfDouble1[i18] = Math.max(arrayOfDouble1[i18], ((vc)localObject10).f());
              arrayOfDouble2[i18] = Math.max(arrayOfDouble2[i18], ((vc)localObject10).g());
              localObject5[i18] = Math.max(localObject5[i18], ((vc)localObject10).e());
              arrayOfDouble3[i18] = Math.max(arrayOfDouble3[i18], ((vc)localObject10).c());
            }
            localv = localv.a();
          } while (!bool5);
          if (!bool6) {
            i11++;
          }
        } while (!bool5);
      } while (bool6);
      i11 = 0;
      label838:
      label840:
      if (i11 < i7 - 1) {
        arrayOfe3[i11] = ((a.c.q)localObject3).i();
      }
      while (bool6)
      {
        if (bool6) {
          break label926;
        }
        if (bool5) {
          break label925;
        }
        if (i11 > 0) {
          a(arrayOfe3[(i11 - 1)], arrayOfe3[i11], localObject5[i11], this.i * arrayOfDouble3[i11], (a.c.q)localObject3, (n)localObject4, localn2);
        }
        i11++;
        if (!bool5) {
          break;
        }
      }
      label925:
      if (i7 > 1)
      {
        label926:
        a(locale1, arrayOfe3[0], localObject5[0] - arrayOfDouble1[0], this.i * arrayOfDouble3[0], (a.c.q)localObject3, (n)localObject4, localn2);
        if (bool6) {
          break label1056;
        }
        a(arrayOfe3[(i7 - 2)], locale2, localObject5[(i7 - 1)] - arrayOfDouble2[(i7 - 1)], this.i * arrayOfDouble3[(i7 - 1)], (a.c.q)localObject3, (n)localObject4, localn2);
        if (!bool5) {
          break label1059;
        }
      }
      label1056:
      a(locale1, locale2, localObject5[0] - arrayOfDouble1[0] - arrayOfDouble2[0], this.i * arrayOfDouble3[0], (a.c.q)localObject3, (n)localObject4, localn2);
      label1059:
      if (arrayOfe3 != null)
      {
        m localm2 = paramo.w();
        do
        {
          if (!localm2.e()) {
            break;
          }
          localObject6 = localm2.a();
          i14 = ((a.c.d)localObject6).e().f();
          i15 = ((a.c.d)localObject6).f().f();
          if ((!bool6) && (bool5)) {
            break label1192;
          }
          if (!bool6)
          {
            if (arrayOfInt2[i14] == arrayOfInt2[i15]) {
              if (bool6) {
                continue;
              }
            }
          }
          else {
            if (arrayOfInt2[i14] != -1) {
              break label1171;
            }
          }
          ((n)localObject2).a(localObject6, true);
          localn1.a(localObject6, true);
          localm2.f();
        } while (!bool5);
      }
    }
    if (!bool6) {
      if (this.r)
      {
        label1192:
        if (bool6) {
          break label1448;
        }
        label1426:
        if (i2 != 0)
        {
          int i8 = 0;
          label1318:
          do
          {
            do
            {
              if (i8 >= paramac.a()) {
                break;
              }
              localObject5 = paramac.a(i8);
              int i12 = 0;
              if (bool6) {
                break label1522;
              }
              if (bool5) {
                break label1513;
              }
              localObject6 = ((vb)localObject5).c().f();
              do
              {
                if (localObject6 == null) {
                  break;
                }
                localObject7 = (a.c.e)((a.c.v)localObject6).c();
                if (bool5) {
                  break label1318;
                }
                if (a(paramo, parambc, (a.c.e)localObject7, false))
                {
                  i12 = 1;
                  if (!bool6) {
                    if (!bool5) {
                      break;
                    }
                  }
                }
                else
                {
                  localObject6 = ((a.c.v)localObject6).a();
                }
              } while (!bool5);
              if (!bool6)
              {
                if (i12 != 0)
                {
                  localObject6 = ((vb)localObject5).c().f();
                  do
                  {
                    if (localObject6 == null) {
                      break label1426;
                    }
                    localObject7 = (a.c.e)((a.c.v)localObject6).c();
                    if (bool5) {
                      break;
                    }
                    if (a(parambc, (a.c.e)localObject7))
                    {
                      ((n)localObject2).a(((a.c.e)localObject7).i(), true);
                      ((n)localObject2).a(((a.c.e)localObject7).h(), true);
                      localn1.a(((a.c.e)localObject7).i(), true);
                      localn1.a(((a.c.e)localObject7).h(), true);
                    }
                    localObject6 = ((a.c.v)localObject6).a();
                  } while (!bool5);
                }
                i8++;
              }
            } while (bool6);
          } while (!bool5);
        }
      }
    }
    if (!bool6)
    {
      label1448:
      if (bool6) {
        break label1522;
      }
      if (k())
      {
        m localm1 = paramo.w();
        do
        {
          if (!localm1.e()) {
            break;
          }
          localObject5 = localm1.a();
          ((n)localObject2).a(localObject5, true);
          localm1.f();
          if ((!bool6) && (bool5)) {
            break label1535;
          }
        } while (!bool5);
      }
    }
    label1513:
    if (!bool6) {
      label1522:
      if (bool6) {}
    }
    label1535:
    int i9 = b() ? 100000000 : 1;
    if (!this.m)
    {
      localObject5 = ((a.c.q)localObject3).a(locale1, locale2);
      ((n)localObject4).a(localObject5, i9);
      if (bool6) {
        break label1609;
      }
      if (!bool5) {}
    }
    else
    {
      localObject5 = ((a.c.q)localObject3).a(locale1, locale2);
      if (i7 != 0) {
        ((n)localObject4).a(localObject5, i9);
      }
    }
    label1609:
    if (!bool6) {}
    int i10 = i7 == 0 ? this.f : this.e;
    HashMap localHashMap1 = new HashMap();
    Object localObject6 = new HashMap();
    Object localObject7 = new ab();
    int i15 = 0;
    Object localObject8 = null;
    if ((bool6) || ((localk != null) || (localObject1 != null)))
    {
      localObject8 = a.i.db.a();
      Object localObject9 = paramo.w();
      do
      {
        if (!((m)localObject9).e()) {
          break;
        }
        localObject10 = ((m)localObject9).a();
        if (bool5) {
          break label1854;
        }
        if (!((n)localObject2).getBool(localObject10))
        {
          ((x)localObject8).a(((a.c.d)localObject10).f(), ((a.c.d)localObject10).e());
          a((a.c.d)localObject10, paramo, parambc, 0.5D, true);
        }
        ((m)localObject9).f();
      } while (!bool5);
      if (localObject1 != null)
      {
        localObject9 = paramo.v();
        do
        {
          if (!((a.c.w)localObject9).e()) {
            break;
          }
          localObject10 = ((a.c.w)localObject9).d();
          if (bool5) {
            break label1853;
          }
          if (((k)localObject1).get(localObject10) != null) {
            ((x)localObject8).a(localObject10, ((k)localObject1).get(localObject10));
          }
          ((a.c.w)localObject9).f();
        } while (!bool5);
      }
    }
    if (!bool6) {
      a(paramac);
    }
    label1853:
    label1854:
    int i17 = 0;
    Object localObject18;
    Object localObject20;
    Object localObject29;
    Object localObject30;
    Object localObject31;
    label2228:
    label2254:
    label2256:
    label3311:
    label3711:
    do
    {
      if (i17 >= paramac.a()) {
        break;
      }
      localObject10 = paramac.a(i17);
      double d1 = -1.797693134862316E+308D;
      double d3 = 1.7976931348623157E+308D;
      Object localObject16 = null;
      localObject18 = null;
      localObject20 = null;
      Object localObject22 = null;
      Object localObject24 = null;
      Object localObject27 = null;
      localObject29 = null;
      localObject30 = null;
      localObject31 = null;
      Object localObject32 = null;
      Object localObject33 = null;
      Object localObject34 = null;
      HashMap localHashMap2 = new HashMap();
      Object localObject35 = null;
      Object localObject36 = null;
      Object localObject37 = null;
      Object localObject38 = null;
      ArrayList localArrayList1 = new ArrayList(16);
      ArrayList localArrayList2 = new ArrayList(16);
      HashMap localHashMap3 = new HashMap();
      Object localObject39;
      Object localObject41;
      Object localObject42;
      do
      {
        localObject39 = ((vb)localObject10).c().l();
        do
        {
          if (!((a.c.w)localObject39).e()) {
            break label2228;
          }
          localObject40 = ((a.c.w)localObject39).d();
          localObject41 = this.k.a((a.c.e)localObject40);
          if (bool5) {
            break;
          }
          if (((ec)localObject41).d() == 3)
          {
            a.c.d locald2 = ((ec)localObject41).g();
            if (!bool6) {
              if (!localHashMap3.containsKey(locald2)) {
                localHashMap3.put(locald2, new h_(null));
              }
            }
            localObject42 = (h_)localHashMap3.get(locald2);
            if (this.k.a(locald2.e()).i() < this.k.a(locald2.f()).i())
            {
              if (locald2.e() == ((ec)localObject41).f())
              {
                ((h_)localObject42).a((a.c.e)localObject40);
                if (bool6) {
                  continue;
                }
                if (!bool5) {}
              }
              else
              {
                ((h_)localObject42).b((a.c.e)localObject40);
                if (bool6) {
                  continue;
                }
                if (!bool5) {}
              }
            }
            else if (locald2.e() == ((ec)localObject41).f())
            {
              ((h_)localObject42).b((a.c.e)localObject40);
              if (bool6) {
                continue;
              }
              if (!bool5) {}
            }
            else
            {
              ((h_)localObject42).a((a.c.e)localObject40);
            }
          }
          ((a.c.w)localObject39).f();
        } while (!bool5);
        localObject39 = new bb();
      } while (bool6);
      Object localObject40 = ((vb)localObject10).c().f();
      if (localObject40 != null) {}
      Object localObject43;
      Object localObject44;
      Object localObject49;
      Object localObject46;
      Object localObject48;
      a.c.e locale12;
      while (bool6)
      {
        localObject41 = (a.c.e)((a.c.v)localObject40).c();
        int i52 = ((a.c.e)localObject41).f();
        localObject42 = parambc.a((a.c.e)localObject41);
        localObject43 = null;
        if (bool5) {
          break;
        }
        Object localObject45;
        Object localObject47;
        if (c(parambc, (a.c.e)localObject41))
        {
          localObject45 = parambc.a((a.c.e)localObject41);
          if (!bool6) {
            if (((ec)localObject45).d() == 12)
            {
              localObject47 = (a.c.e)localHashMap1.get(((ec)localObject45).f());
              if (!bool6)
              {
                if (localObject47 == null) {
                  localObject47 = ((a.c.q)localObject3).i();
                }
              }
              else {
                localHashMap1.put(((ec)localObject45).f(), localObject47);
              }
              tmp2389_2387 = localObject47;
              localObject44 = tmp2389_2387;
              arrayOfe2[i52] = tmp2389_2387;
              localHashMap2.put(((ec)localObject45).f(), localObject41);
              localArrayList1.add(((ec)localObject45).f());
              localArrayList2.add(((ec)localObject45).f());
              if (bool6) {
                break label2963;
              }
              if (!bool5) {
                break label2956;
              }
            }
          }
          localObject47 = (a.c.e)((Map)localObject6).get(((ec)localObject45).f());
          if (!bool6)
          {
            if (localObject47 == null) {
              localObject47 = ((a.c.q)localObject3).i();
            }
          }
          else {
            ((Map)localObject6).put(((ec)localObject45).f(), localObject47);
          }
          tmp2509_2507 = localObject47;
          localObject44 = tmp2509_2507;
          arrayOfe2[i52] = tmp2509_2507;
          if (!bool6) {
            if (localObject35 != null)
            {
              if (bool6) {
                break label2586;
              }
              if (parambc.a((a.c.e)localObject35).f() == ((ec)localObject45).f()) {
                a(arrayOfe2[localObject35.f()], (a.c.e)localObject44, a(paramo, (vb)localObject10, (a.c.e)localObject35, (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2);
              }
            }
          }
          if (((bool6) || (localObject37 != null)) && (parambc.a((a.c.e)localObject37).f() == ((ec)localObject45).f())) {
            a(arrayOfe2[localObject37.f()], (a.c.e)localObject44, a(paramo, (vb)localObject10, (a.c.e)localObject37, (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2);
          }
          if (!bool6) {
            if (localArrayList1.size() > 0)
            {
              if (bool6) {
                break label2715;
              }
              if (localArrayList1.get(localArrayList1.size() - 1) == ((ec)localObject45).f()) {
                localArrayList1.remove(localArrayList1.size() - 1);
              }
            }
          }
          if (bool6) {
            break label2963;
          }
          if ((localArrayList2.size() > 0) && ((bool6) || (localArrayList2.get(localArrayList2.size() - 1) == ((ec)localObject45).f())))
          {
            localArrayList2.remove(localArrayList2.size() - 1);
            if (bool6) {
              break label2963;
            }
            if (!bool5) {}
          }
        }
        else
        {
          if (!bool6) {
            if (localObject8 != null)
            {
              if (bool6) {
                break label2855;
              }
              if (((x)localObject8).get(localObject41) != null)
              {
                localObject45 = arrayOfe2[((a.c.e)localObject8.get(localObject41)).f()];
                tmp2839_2837 = localObject45;
                localObject44 = tmp2839_2837;
                arrayOfe2[i52] = tmp2839_2837;
                if (bool6) {
                  break label2963;
                }
                if (!bool5) {
                  break label2956;
                }
              }
            }
          }
          if (localObject8 == null) {
            if (((bool6) || (a(parambc, (a.c.e)localObject41))) && ((bool6) || ((a(parambc, ((a.c.e)localObject41).i().e())) && (!((n)localObject2).getBool(((a.c.e)localObject41).i())))))
            {
              localObject45 = arrayOfe2[localObject41.i().e().f()];
              tmp2929_2927 = localObject45;
              localObject44 = tmp2929_2927;
              arrayOfe2[i52] = tmp2929_2927;
              if (bool6) {
                break label2963;
              }
              if (!bool5) {
                break label2956;
              }
            }
          }
          tmp2952_2949 = ((a.c.q)localObject3).i();
          localObject44 = tmp2952_2949;
          arrayOfe2[i52] = tmp2952_2949;
        }
        if (!bool6) {
          if (((ec)localObject42).d() == 3) {
            ((bb)localObject39).add(localObject41);
          }
        }
        Object localObject51;
        if (!bool6) {
          if (((ec)localObject42).d() != 15)
          {
            double d11 = 1.7976931348623157E+308D;
            double d14 = 1.7976931348623157E+308D;
            if (!bool6)
            {
              if (((a.c.e)localObject41).d() > 0)
              {
                localObject51 = ((a.c.e)localObject41).i();
                do
                {
                  if (localObject51 == null) {
                    break;
                  }
                  d11 = Math.min(d11, paramo.e(localObject51).d().a);
                  localObject51 = ((a.c.d)localObject51).j();
                  if ((!bool6) && (bool5)) {
                    break label3148;
                  }
                } while (!bool5);
              }
              if (!bool6) {
                if (bool6) {
                  break label3475;
                }
              }
            }
            else
            {
              if (((a.c.e)localObject41).e() <= 0) {
                break label3148;
              }
            }
            localObject51 = ((a.c.e)localObject41).h();
            do
            {
              if (localObject51 == null) {
                break;
              }
              d14 = Math.min(d14, paramo.e(localObject51).c().a);
              localObject51 = ((a.c.d)localObject51).i();
              if (bool6) {
                break label3475;
              }
              if (bool5) {
                break label3468;
              }
            } while (!bool5);
            localObject51 = ((ec)localObject42).b();
            if (bool6) {
              break label2256;
            }
            if ((bool6) || (localObject51 != null))
            {
              Object localObject52 = localObject51;
              do
              {
                if (localObject52 == null) {
                  break;
                }
                a.c.d locald3 = (a.c.d)((a.c.v)localObject52).c();
                if (bool5) {
                  break label5621;
                }
                if (locald3.e() == localObject41)
                {
                  if (bool6) {
                    break label3246;
                  }
                  d18 = paramo.e(locald3).c().a;
                  if (!bool5) {
                    break label3248;
                  }
                }
                double d18 = paramo.e(locald3).d().a;
                y localy2 = parambc.a(locald3);
                if (!bool6)
                {
                  if (localy2 != null)
                  {
                    if (!bool6)
                    {
                      if (localy2.l()) {
                        d11 = Math.min(d11, d18);
                      }
                    }
                    else
                    {
                      if (bool6) {
                        continue;
                      }
                      if (!bool5) {
                        break label3311;
                      }
                    }
                    d14 = Math.min(d14, d18);
                  }
                  localObject52 = ((a.c.v)localObject52).a();
                }
              } while (!bool5);
            }
            if (bool6) {
              break label5689;
            }
            if (!bool6) {
              if (d14 != 1.7976931348623157E+308D)
              {
                if (!bool6) {
                  if (localObject37 != null)
                  {
                    a(arrayOfe2[localObject37.f()], (a.c.e)localObject44, Math.max(0.0D, a(paramo, (vb)localObject10, (a.c.e)localObject37, null) - d14), 0, (a.c.q)localObject3, (n)localObject4, localn2);
                    localObject37 = null;
                  }
                }
                localObject38 = localObject41;
              }
            }
            if (bool6) {
              break label3475;
            }
            if (d11 != 1.7976931348623157E+308D)
            {
              if (!bool6) {
                if (localObject35 != null)
                {
                  a(arrayOfe2[localObject35.f()], (a.c.e)localObject44, Math.max(0.0D, a(paramo, (vb)localObject10, (a.c.e)localObject35, null) - d11), 0, (a.c.q)localObject3, (n)localObject4, localn2);
                  localObject35 = null;
                }
              }
              localObject36 = localObject41;
            }
          }
        }
        if ((bool6) || (((ec)localObject42).d() == 15))
        {
          Object localObject50;
          if (!bool6) {
            if (((a.c.e)localObject41).c() == 0)
            {
              localObject47 = ((ec)localObject42).b();
              if ((bool6) || (localObject47 != null))
              {
                localObject49 = (a.c.d)((a.c.v)localObject47).c();
                localObject50 = this.k.a((a.c.d)localObject49);
                bool3 = ((y)localObject50).l();
                if (bool6) {
                  break label3594;
                }
                if (!bool5) {
                  break label3592;
                }
              }
              bool3 = true;
              if (bool6) {
                break label3594;
              }
              if (!bool5) {
                break label3592;
              }
            }
          }
          if (!bool6) {}
          boolean bool3 = ((a.c.e)localObject41).d() > 0;
          double d12;
          if (bool3) {
            if (localObject36 != null)
            {
              d12 = -1.797693134862316E+308D;
              localObject50 = localObject36.i();
              do
              {
                if (localObject50 == null) {
                  break;
                }
                d12 = Math.max(d12, paramo.e(localObject50).d().a);
                localObject50 = ((a.c.d)localObject50).j();
                if (bool6) {
                  break label3871;
                }
                if (bool5) {
                  break label3859;
                }
              } while (!bool5);
              if (bool6) {
                break label2256;
              }
              localObject50 = parambc.a(localObject36).b();
              if ((bool6) || (localObject50 != null)) {
                localObject51 = (a.c.d)((a.c.v)localObject50).c();
              }
            }
          }
          double d13;
          do
          {
            double d15;
            y localy1;
            if (!bool5)
            {
              break label4097;
              if (((a.c.d)localObject51).e() == localObject41)
              {
                if (bool6) {
                  break label3757;
                }
                d15 = paramo.e(localObject51).c().a;
                if (!bool5) {
                  break label3759;
                }
              }
              d15 = paramo.e(localObject51).d().a;
              localy1 = parambc.a((a.c.d)localObject51);
              if (!bool6)
              {
                if (localy1 != null)
                {
                  if (bool6) {
                    break label3817;
                  }
                  if (localy1.l()) {
                    d12 = Math.max(d12, d15);
                  }
                }
                if (bool6) {
                  break label3689;
                }
                localObject50 = ((a.c.v)localObject50).a();
              }
              if (!bool5) {
                break label3682;
              }
              a(arrayOfe2[localObject36.f()], (a.c.e)localObject44, Math.max(0.0D, d12 + a(paramo, (vb)localObject10, null, (a.c.e)localObject41)), 0, (a.c.q)localObject3, (n)localObject4, localn2);
              if ((bool6) || (localArrayList1.size() > 0))
              {
                a.c.e locale10 = (a.c.e)localArrayList1.get(localArrayList1.size() - 1);
                localArrayList1.clear();
                localObject49 = (a.c.e)localHashMap1.get(locale10);
                a((a.c.e)localObject49, (a.c.e)localObject44, a(paramo, (vb)localObject10, null, (a.c.e)localObject41) * 0.5D, 0, (a.c.q)localObject3, (n)localObject4, localn2);
              }
              if (!bool6) {
                if (localObject35 != null) {
                  a(arrayOfe2[localObject35.f()], (a.c.e)localObject44, a(paramo, (vb)localObject10, (a.c.e)localObject35, (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2);
                }
              }
              localObject35 = localObject41;
              localObject36 = null;
              break label4702;
              if (localObject38 == null) {
                break label4261;
              }
              d13 = -1.797693134862316E+308D;
              localObject50 = localObject38.h();
              do
              {
                if (localObject50 == null) {
                  break;
                }
                d13 = Math.max(d13, paramo.e(localObject50).c().a);
                localObject50 = ((a.c.d)localObject50).i();
                if (bool6) {
                  break label4273;
                }
                if (bool5) {
                  break label4261;
                }
              } while (!bool5);
              if (bool6) {
                break;
              }
              localObject50 = parambc.a(localObject38).b();
            }
            do
            {
              if (localObject50 == null) {
                break label4217;
              }
              localObject51 = (a.c.d)((a.c.v)localObject50).c();
              if (bool6) {
                break label3711;
              }
              if (bool5) {
                break;
              }
              if (((a.c.d)localObject51).e() == localObject41)
              {
                if (bool6) {
                  break label4159;
                }
                d15 = paramo.e(localObject51).c().a;
                if (!bool5) {
                  break label4161;
                }
              }
              d15 = paramo.e(localObject51).d().a;
              localy1 = parambc.a((a.c.d)localObject51);
              if (!bool6)
              {
                if (localy1 != null)
                {
                  if (bool6) {
                    continue;
                  }
                  if (!localy1.l()) {
                    d13 = Math.max(d13, d15);
                  }
                }
                localObject50 = ((a.c.v)localObject50).a();
              }
            } while (!bool5);
          } while (bool6);
          a(arrayOfe2[localObject38.f()], (a.c.e)localObject44, Math.max(0.0D, d13 + a(paramo, (vb)localObject10, null, (a.c.e)localObject41)), 0, (a.c.q)localObject3, (n)localObject4, localn2);
          if ((bool6) || (localArrayList2.size() > 0))
          {
            a.c.e locale11 = (a.c.e)localArrayList2.get(localArrayList2.size() - 1);
            localArrayList2.clear();
            localObject49 = (a.c.e)localHashMap1.get(locale11);
            a((a.c.e)localObject49, (a.c.e)localObject44, a(paramo, (vb)localObject10, null, (a.c.e)localObject41) * 0.5D, 0, (a.c.q)localObject3, (n)localObject4, localn2);
          }
          if (!bool6) {
            if (localObject37 != null) {
              a(arrayOfe2[localObject37.f()], (a.c.e)localObject44, a(paramo, (vb)localObject10, (a.c.e)localObject37, (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2);
            }
          }
          localObject37 = localObject41;
          localObject38 = null;
          break label4702;
        }
        if (localObject33 == null)
        {
          if (!bool6)
          {
            if (arrayOfInt2[i52] > 0)
            {
              a(arrayOfe3[(arrayOfInt2[i52] - 1)], (a.c.e)localObject44, a(paramo, (vb)localObject10, null, (a.c.e)localObject41) + paramo.s((a.c.e)localObject41) * 0.5D + arrayOfDouble1[arrayOfInt2[i52]], 0, (a.c.q)localObject3, (n)localObject4, localn2);
              if (bool6) {
                break label4709;
              }
              if (!bool5) {}
            }
            else
            {
              a(locale1, (a.c.e)localObject44, a(paramo, (vb)localObject10, null, (a.c.e)localObject41) + paramo.s((a.c.e)localObject41) * 0.5D, 0, (a.c.q)localObject3, (n)localObject4, localn2);
            }
          }
          else
          {
            if (bool6) {
              break label4709;
            }
            if (!bool5) {}
          }
        }
        else
        {
          i53 = arrayOfInt2[localObject41.f()];
          int i54 = arrayOfInt2[localObject33.f()];
          if (bool6) {
            break label4710;
          }
          if (i54 != i53)
          {
            if (!bool6) {
              if (i53 > 0)
              {
                if (bool6) {
                  break label4635;
                }
                if (i53 <= arrayOfe3.length) {
                  a(arrayOfe3[(i53 - 1)], (a.c.e)localObject44, a(paramo, (vb)localObject10, null, (a.c.e)localObject41) + arrayOfDouble1[i53] + paramo.s((a.c.e)localObject41) * 0.5D, 0, (a.c.q)localObject3, (n)localObject4, localn2);
                }
              }
            }
            if (bool6) {
              break label4709;
            }
            if (i54 >= 0)
            {
              if (bool6) {
                break label4710;
              }
              if (i54 < arrayOfe3.length) {
                a((a.c.e)localObject34, arrayOfe3[i54], a(paramo, (vb)localObject10, (a.c.e)localObject33, null) + arrayOfDouble2[i54] + paramo.s((a.c.e)localObject33) * 0.5D, 0, (a.c.q)localObject3, (n)localObject4, localn2);
              }
            }
          }
        }
        if (!bool6) {
          if (((ec)localObject42).d() != 2)
          {
            if (bool6) {
              break label5340;
            }
            if (((ec)localObject42).d() != 3) {
              break label5331;
            }
          }
        }
        if ((bool6) || (((ec)localObject42).d() != 15)) {
          localObject43 = ((ec)localObject42).f();
        } else {
          localObject43 = localObject31;
        }
        if (!bool6) {
          if (((ec)localObject42).d() != 2)
          {
            if (bool6) {
              break label4848;
            }
            if (((ec)localObject42).d() != 15) {
              break label4830;
            }
          }
        }
        if (!bool6) {}
        int i53 = ((a.c.e)localObject41).d() > 0 ? 1 : 0;
        boolean bool4;
        if (!bool6) {
          if (bool5) {
            bool4 = parambc.a(((ec)localObject42).g()).l();
          }
        }
        if (bool4)
        {
          if (!bool6) {
            if (localObject27 != null)
            {
              a((a.c.e)localObject27, (a.c.e)localObject44, a(paramo, (vb)localObject10, (a.c.e)localObject24, (a.c.e)localObject41), localObject30 == localObject43 ? 1 : 0, (a.c.q)localObject3, (n)localObject4, localn2);
              if (bool6) {
                break label4985;
              }
              if (!bool5) {
                break label4972;
              }
            }
          }
          if (!bool6)
          {
            if (localObject34 != null) {
              a((a.c.e)localObject34, (a.c.e)localObject44, paramo.s((a.c.e)localObject33) * 0.5D + a(paramo, (vb)localObject10, (a.c.e)localObject33, (a.c.e)localObject41), localObject33 == localObject43 ? 1 : 0, (a.c.q)localObject3, (n)localObject4, localn2);
            }
            d1 = Math.max(d1, paramo.n((a.c.e)localObject41));
          }
          if (((bool6) || (localObject18 != null)) && (localObject22 != localObject43))
          {
            if (bool6) {
              break label5058;
            }
            if (d3 <= paramo.n((a.c.e)localObject41))
            {
              a((a.c.e)localObject18, (a.c.e)localObject44, a(paramo, (vb)localObject10, (a.c.e)localObject16, (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2);
              d3 = 1.7976931348623157E+308D;
            }
          }
          if (!bool6)
          {
            if (((ec)localObject42).d() != 15) {
              localObject30 = localObject43;
            }
            localObject24 = localObject41;
            localObject29 = localObject42;
            localObject27 = localObject44;
          }
          if (bool6) {
            break label5805;
          }
          if (!bool5) {}
        }
        else
        {
          if (!bool6) {
            if (localObject18 != null)
            {
              a((a.c.e)localObject18, (a.c.e)localObject44, a(paramo, (vb)localObject10, (a.c.e)localObject16, (a.c.e)localObject41), localObject22 == localObject43 ? 1 : 0, (a.c.q)localObject3, (n)localObject4, localn2);
              if (bool6) {
                break label5224;
              }
              if (!bool5) {
                break label5211;
              }
            }
          }
          if (!bool6)
          {
            if (localObject34 != null) {
              a((a.c.e)localObject34, (a.c.e)localObject44, paramo.s((a.c.e)localObject33) * 0.5D + a(paramo, (vb)localObject10, (a.c.e)localObject33, (a.c.e)localObject41), localObject33 == localObject43 ? 1 : 0, (a.c.q)localObject3, (n)localObject4, localn2);
            }
            d3 = Math.min(d3, paramo.n((a.c.e)localObject41));
          }
          if (!bool6)
          {
            if (localObject27 != null)
            {
              if (bool6) {
                break label5301;
              }
              if (localObject30 != localObject43)
              {
                if (bool6) {
                  break label5314;
                }
                if (d1 >= paramo.n((a.c.e)localObject41))
                {
                  a((a.c.e)localObject27, (a.c.e)localObject44, a(paramo, (vb)localObject10, (a.c.e)localObject24, (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2);
                  d1 = -1.797693134862316E+308D;
                }
              }
            }
            localObject16 = localObject41;
          }
          localObject18 = localObject44;
          localObject20 = localObject42;
          if (bool6) {
            break label5811;
          }
          if (((ec)localObject42).d() != 15)
          {
            localObject22 = localObject43;
            break label5798;
            if (((ec)localObject42).d() != 15)
            {
              if (!bool6) {
                if (localObject18 != null)
                {
                  a((a.c.e)localObject18, (a.c.e)localObject44, paramo.s((a.c.e)localObject41) * 0.5D + a(paramo, (vb)localObject10, (a.c.e)localObject16, (a.c.e)localObject41), ((bool6) || (((ec)localObject20).d() != 15)) && (((ec)localObject20).f() == localObject41) ? 1 : 0, (a.c.q)localObject3, (n)localObject4, localn2);
                  d3 = 1.7976931348623157E+308D;
                  localObject18 = null;
                  localObject20 = null;
                  localObject16 = null;
                  localObject22 = null;
                }
              }
              if (!bool6) {
                if (localObject27 != null)
                {
                  a((a.c.e)localObject27, (a.c.e)localObject44, paramo.s((a.c.e)localObject41) * 0.5D + a(paramo, (vb)localObject10, (a.c.e)localObject24, (a.c.e)localObject41), ((bool6) || (((ec)localObject29).d() != 15)) && (((ec)localObject29).f() == localObject41) ? 1 : 0, (a.c.q)localObject3, (n)localObject4, localn2);
                  d1 = -1.797693134862316E+308D;
                  localObject27 = null;
                  localObject29 = null;
                  localObject24 = null;
                  localObject30 = null;
                }
              }
              if (localObject34 != null) {
                a((a.c.e)localObject34, (a.c.e)localObject44, 0.5D * (paramo.s((a.c.e)localObject33) + paramo.s((a.c.e)localObject41)) + a(paramo, (vb)localObject10, (a.c.e)localObject33, (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2);
              }
              if (!bool6)
              {
                if (((ec)localObject42).d() == 0)
                {
                  if (!bool6)
                  {
                    if ((localObject32 != null) && (localObject32 != localObject34)) {
                      a((a.c.e)localObject32, (a.c.e)localObject44, 0.5D * (paramo.s((a.c.e)localObject31) + paramo.s((a.c.e)localObject41)) + a(paramo, (vb)localObject10, (a.c.e)localObject31, (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2);
                    }
                    localObject32 = localObject44;
                  }
                  localObject31 = localObject41;
                }
                if (bool6) {}
              }
              else
              {
                if (((ec)localObject42).d() != 13) {
                  break label5790;
                }
              }
              localObject46 = ((ec)localObject42).f();
              localObject48 = (a.c.e)localHashMap1.get(localObject46);
              localObject49 = (a.c.e)((Map)localObject6).get(localObject46);
              if (!bool6)
              {
                if (!((a.c.q)localObject3).b((a.c.e)localObject48, (a.c.e)localObject49)) {
                  ((ab)localObject7).add(a((a.c.e)localObject48, (a.c.e)localObject49, a(paramo, (vb)localObject10, (a.c.e)localHashMap2.get(localObject46), (a.c.e)localObject41), 0, (a.c.q)localObject3, (n)localObject4, localn2));
                }
                localObject34 = localObject44;
              }
              localObject33 = localObject41;
            }
          }
        }
        a.c.e locale13;
        Object localObject53;
        if (!bool6) {
          if (((ec)localObject42).d() == 3)
          {
            localObject46 = ((ec)localObject42).g();
            if ((bool6) || (localHashMap3.containsKey(localObject46)))
            {
              localObject48 = (h_)localHashMap3.get(localObject46);
              localObject49 = ((h_)localObject48).a();
              int i56;
              if (!bool6) {
                if (localObject49 == null)
                {
                  int i55 = this.k.a(((a.c.d)localObject46).e()).i();
                  i56 = this.k.a(((a.c.d)localObject46).f()).i();
                  localObject49 = i55 < i56 ? ((a.c.d)localObject46).e() : ((a.c.d)localObject46).f();
                }
              }
              locale12 = ((h_)localObject48).b();
              if (!bool6) {
                if (locale12 == null)
                {
                  i56 = this.k.a(((a.c.d)localObject46).e()).i();
                  int i57 = this.k.a(((a.c.d)localObject46).f()).i();
                  locale12 = i56 > i57 ? ((a.c.d)localObject46).e() : ((a.c.d)localObject46).f();
                }
              }
              locale13 = arrayOfe2[locale12.f()];
              localObject53 = arrayOfe2[localObject49.f()];
              if (bool6) {
                break label6372;
              }
              if ((locale13 == null) || (localObject53 == null)) {
                break label6365;
              }
              double d17 = a(paramo, (vb)localObject10, (a.c.e)localObject49, locale12) + (paramo.s((a.c.e)localObject49) + paramo.s(locale12)) * 0.5D;
              a((a.c.e)localObject53, locale13, d17, 1, (a.c.q)localObject3, (n)localObject4, localn2);
              if (bool6) {
                break label6379;
              }
              if (!bool5) {
                break label6365;
              }
            }
            throw new RuntimeException("Proxy must have a same layer edge");
          }
        }
        if (!bool6)
        {
          if (((ec)localObject42).c() > 0)
          {
            localObject46 = ((ec)localObject42).b();
            do
            {
              if (localObject46 == null) {
                break label6365;
              }
              localObject48 = (a.c.d)((a.c.v)localObject46).c();
              if (bool5) {
                break;
              }
              if ((!localHashMap3.containsKey(localObject48)) || ((bool6) || (((h_)localHashMap3.get(localObject48)).a() == null)))
              {
                localObject49 = ((a.c.d)localObject48).a((a.c.e)localObject41);
                locale12 = arrayOfe2[localObject41.f()];
                locale13 = arrayOfe2[localObject49.f()];
                if ((bool6) || (localHashMap3.containsKey(localObject48)))
                {
                  localObject53 = (h_)localHashMap3.get(localObject48);
                  a.c.e locale14 = ((h_)localObject53).a();
                  if (bool6) {
                    break label6280;
                  }
                  if (locale14 != null)
                  {
                    locale13 = arrayOfe2[locale14.f()];
                    localObject49 = locale14;
                  }
                }
                if ((bool6) || ((locale12 != null) && (locale13 != null)))
                {
                  double d16 = paramo.s((a.c.e)localObject41);
                  double d19 = paramo.s((a.c.e)localObject49);
                  a(locale13, locale12, a(paramo, (vb)localObject10, (a.c.e)localObject49, (a.c.e)localObject41) + d16 * 0.5D + d19 * 0.5D, 1, (a.c.q)localObject3, (n)localObject4, localn2);
                  i15++;
                }
              }
              localObject46 = ((a.c.v)localObject46).a();
            } while (!bool5);
          }
          localObject40 = ((a.c.v)localObject40).a();
          if (bool6) {
            break;
          }
        }
        if (!bool5) {
          break label2254;
        }
      }
      localObject40 = ((bb)localObject39).l();
      if (((a.c.w)localObject40).e()) {}
      while (bool6)
      {
        localObject41 = ((a.c.w)localObject40).d();
        ec localec = this.k.a((a.c.e)localObject41);
        localObject42 = localec.f();
        localObject43 = localec.g();
        if (bool6) {
          break label6676;
        }
        if (bool5) {
          break label6675;
        }
        if (localObject43 != null)
        {
          localObject44 = ((a.c.d)localObject43).a((a.c.e)localObject42);
          localObject46 = this.k.a((a.c.e)localObject44);
          localObject48 = this.k.a((a.c.e)localObject42);
          if (bool6) {
            break label6626;
          }
          if (((ec)localObject46).d() == 15)
          {
            localObject49 = arrayOfe2[localObject44.f()];
            locale12 = arrayOfe2[localObject41.f()];
            if (!bool6)
            {
              if (((ec)localObject46).i() < ((ec)localObject48).i()) {
                a((a.c.e)localObject49, locale12, a(paramo, (vb)localObject10, (a.c.e)localObject44, (a.c.e)localObject41), 1, (a.c.q)localObject3, (n)localObject4, localn2);
              }
            }
            else
            {
              if (bool6) {
                break label6626;
              }
              if (!bool5) {
                break label6617;
              }
            }
            a(locale12, (a.c.e)localObject49, a(paramo, (vb)localObject10, (a.c.e)localObject41, (a.c.e)localObject44), 1, (a.c.q)localObject3, (n)localObject4, localn2);
          }
        }
        ((a.c.w)localObject40).f();
        if (!bool5) {
          break;
        }
      }
      if (localObject33 != null)
      {
        a((a.c.e)localObject34, locale2, a(paramo, (vb)localObject10, (a.c.e)localObject33, null) + paramo.s((a.c.e)localObject33) * 0.5D, 0, (a.c.q)localObject3, (n)localObject4, localn2);
        int i51 = ((a.c.e)localObject33).f();
        if (bool6) {
          continue;
        }
        if (arrayOfInt2[i51] >= 0)
        {
          if (bool6) {
            continue;
          }
          if (arrayOfInt2[i51] < arrayOfe3.length) {
            a((a.c.e)localObject34, arrayOfe3[arrayOfInt2[i51]], a(paramo, (vb)localObject10, (a.c.e)localObject33, null) + arrayOfDouble2[arrayOfInt2[i51]] + paramo.s((a.c.e)localObject33) * 0.5D, 0, (a.c.q)localObject3, (n)localObject4, localn2);
          }
        }
      }
      i17++;
    } while (!bool5);
    label2586:
    label2715:
    label2855:
    label3148:
    label3682:
    label3689:
    label3817:
    label4217:
    int[] arrayOfInt3 = new int[paramo.l()];
    label2956:
    label2963:
    label3246:
    label3248:
    label4159:
    label4161:
    label4702:
    label4709:
    label4710:
    label4848:
    label4985:
    Object localObject10 = new Comparator()
    {
      public int compare(Object paramAnonymousObject1, Object paramAnonymousObject2)
      {
        return l.a(uc.this.k.a(((a.c.d)paramAnonymousObject1).f()).i(), uc.this.k.a(((a.c.d)paramAnonymousObject2).f()).i());
      }
    };
    label3468:
    label3475:
    label3757:
    label3759:
    label4273:
    label4830:
    label4972:
    label5621:
    Object localObject11 = paramo.v();
    label3592:
    label3594:
    label3859:
    label3871:
    label4261:
    label5058:
    label5211:
    label5224:
    label6379:
    if (((a.c.w)localObject11).e()) {}
    label4097:
    label4635:
    label5301:
    label5314:
    label5331:
    label5340:
    label6365:
    label6372:
    int i21;
    label5689:
    label6617:
    label6626:
    int i23;
    label5790:
    label5798:
    label5805:
    label5811:
    Object localObject14;
    label6280:
    label6675:
    label6676:
    label6878:
    label7012:
    label7023:
    label7025:
    while (bool6)
    {
      i21 = (((a.c.w)localObject11).d().e() & 0x1) == 1 ? 1 : 0;
      if (!bool6) {
        if (i21 != 0) {
          ((a.c.w)localObject11).d().b((Comparator)localObject10);
        }
      }
      i23 = -((a.c.w)localObject11).d().e() / 2;
      localObject14 = ((a.c.w)localObject11).d().h();
      if (localObject14 != null) {}
      do
      {
        int i27 = ((a.c.d)localObject14).d();
        localObject18 = arrayOfe2[localObject14.e().f()];
        localObject20 = arrayOfe2[localObject14.f().f()];
        if (bool5) {
          break;
        }
        if (localObject18 != localObject20)
        {
          int i35 = this.h;
          if (!bool6) {
            if (!((n)localObject2).getBool(localObject14))
            {
              boolean bool1 = a(parambc, ((a.c.d)localObject14).e());
              boolean bool2 = a(parambc, ((a.c.d)localObject14).f());
              if (!bool6) {
                if (bool1)
                {
                  if (bool6) {
                    break label7012;
                  }
                  if (bool2)
                  {
                    i35 = i10;
                    if (bool6) {
                      break label7025;
                    }
                    if (!bool5) {
                      break label7023;
                    }
                  }
                }
              }
              if (bool6) {
                break label7025;
              }
              if (bool1) {
                i35++;
              }
            }
          }
          if (((bool6) || (i21 != 0)) && ((bool6) || (i23 == 0))) {
            i35 += this.h * 4;
          }
          arrayOfInt3[i27] = i35;
        }
        localObject14 = ((a.c.d)localObject14).i();
        i23++;
        if (!bool5) {
          break label6878;
        }
        ((a.c.w)localObject11).f();
      } while (bool6);
      if (!bool5) {
        break;
      }
    }
    localObject10 = new Comparator()
    {
      public int compare(Object paramAnonymousObject1, Object paramAnonymousObject2)
      {
        return l.a(uc.this.k.a(((a.c.d)paramAnonymousObject1).e()).i(), uc.this.k.a(((a.c.d)paramAnonymousObject2).e()).i());
      }
    };
    localObject11 = paramo.v();
    if (((a.c.w)localObject11).e()) {}
    label7288:
    while (bool6)
    {
      do
      {
        i21 = (((a.c.w)localObject11).d().d() & 0x1) == 1 ? 1 : 0;
        if (bool6) {
          break;
        }
        if (i21 != 0)
        {
          ((a.c.w)localObject11).d().a((Comparator)localObject10);
          i23 = -((a.c.w)localObject11).d().d() / 2;
          localObject14 = ((a.c.w)localObject11).d().i();
          do
          {
            if (localObject14 == null) {
              break label7288;
            }
            a.c.e locale4 = arrayOfe2[localObject14.e().f()];
            localObject18 = arrayOfe2[localObject14.f().f()];
            if (bool5) {
              break;
            }
            if (locale4 != localObject18)
            {
              if (bool6) {
                continue;
              }
              if (i23 == 0)
              {
                int i31 = ((a.c.d)localObject14).d();
                arrayOfInt3[i31] += this.h * 4;
              }
            }
            localObject14 = ((a.c.d)localObject14).j();
            i23++;
          } while (!bool5);
        }
        ((a.c.w)localObject11).f();
      } while (bool6);
      if (!bool5) {
        break;
      }
    }
    localObject10 = paramo.w();
    Object localObject25;
    a.c.e locale8;
    label7481:
    label7488:
    do
    {
      if (!((m)localObject10).e()) {
        break;
      }
      localObject11 = ((m)localObject10).a();
      i21 = ((a.c.d)localObject11).d();
      double d4 = arrayOfInt3[i21];
      double d5 = d4;
      d4 *= (1.0D - 0.1D * Math.min(8, ((a.c.d)localObject11).e().e() + ((a.c.d)localObject11).f().d() - 2));
      if (bool5) {
        break label7679;
      }
      if (((n)localObject2).getBool(localObject11))
      {
        double d6 = 1.0D;
        if ((bool6) || (k()))
        {
          localObject25 = this.k.a((a.c.d)localObject11).c();
          if (!bool6) {
            if (localObject25 != null)
            {
              locale8 = ((a.c.d)localObject25).e();
              localObject29 = ((a.c.d)localObject25).f();
              if (bool6) {
                break label7481;
              }
              if (!bool5) {
                break label7488;
              }
            }
          }
          locale8 = ((a.c.d)localObject11).e();
          localObject29 = ((a.c.d)localObject11).f();
          localObject30 = this.k.a(locale8);
          localObject31 = this.k.a((a.c.e)localObject29);
          if (((bool6) || (localObject30 != null)) && ((bool6) || (localObject31 != null))) {
            d6 = Math.abs(((ec)localObject31).h() - ((ec)localObject30).h()) / (paramac.a() - 1);
          }
        }
        d4 *= 0.5D * d6;
      }
      if ((bool6) || ((a(this.k, ((a.c.d)localObject11).e())) && ((bool6) || (d4 > 0.0D)))) {
        d4 += 2.0D;
      }
      arrayOfInt3[i21] = ((int)((bool6) || (d5 > 0.0D) ? Math.max(1.0D, d4) : 0.0D));
      ((m)localObject10).f();
    } while (!bool5);
    if ((!bool6) && (arrayOfe3 != null))
    {
      localObject10 = paramo.w();
      label7679:
      do
      {
        if (!((m)localObject10).e()) {
          break;
        }
        localObject11 = ((m)localObject10).a();
        i21 = ((a.c.d)localObject11).e().f();
        int i24 = ((a.c.d)localObject11).f().f();
        if (!bool6)
        {
          if (arrayOfInt2[i21] != arrayOfInt2[i24])
          {
            if (bool6) {
              continue;
            }
            if (arrayOfInt2[i21] >= 0)
            {
              if (bool6) {
                continue;
              }
              if (arrayOfInt2[i24] >= 0)
              {
                tmp7762_7759 = ((a.c.d)localObject11).d();
                tmp7762_7755 = arrayOfInt3;
                tmp7762_7755[tmp7762_7759] = ((int)(tmp7762_7755[tmp7762_7759] * this.o));
              }
            }
          }
          ((m)localObject10).f();
        }
      } while (!bool5);
    }
    localObject10 = a.i.db.b();
    int i19 = 0;
    label7800:
    Object localObject12;
    Object localObject13;
    label7830:
    Object localObject17;
    label7862:
    label8123:
    label8132:
    Object localObject19;
    Object localObject21;
    label8317:
    int i49;
    label8455:
    label8457:
    label8460:
    label8468:
    label8470:
    do
    {
      if (i19 >= paramac.a()) {
        break;
      }
      localObject12 = new ab();
      localObject13 = paramac.a(i19).c().f();
      if (localObject13 != null) {}
      while (bool6)
      {
        localObject14 = (a.c.e)((a.c.v)localObject13).c();
        if (bool6) {
          break label8470;
        }
        if (bool5) {
          break label8468;
        }
        localObject17 = ((a.c.e)localObject14).h();
        if (localObject17 != null) {}
        do
        {
          int i30 = ((a.c.d)localObject17).d();
          int i32 = arrayOfInt3[i30];
          if (bool6) {
            break label7800;
          }
          if (bool5) {
            break;
          }
          if (i32 > 0)
          {
            ((ab)localObject12).add(localObject17);
            a.c.e locale6 = arrayOfe2[localObject17.e().f()];
            localObject25 = arrayOfe2[localObject17.f().f()];
            if ((bool6) || (locale6 != localObject25))
            {
              locale8 = ((a.c.q)localObject3).i();
              arrayOfe1[i30] = locale8;
              localObject29 = ((a.c.q)localObject3).a(locale8, locale6);
              localObject30 = ((a.c.q)localObject3).a(locale8, (a.c.e)localObject25);
              ((n)localObject4).a(localObject29, i32);
              ((n)localObject4).a(localObject30, i32);
              double d9 = 2520.0D * paramo.p((a.c.d)localObject17).a();
              double d10 = 2520.0D * paramo.q((a.c.d)localObject17).a();
              if (!bool6) {
                if (d9 > d10)
                {
                  i50 = (int)Math.rint(d9 - d10);
                  localn2.a(localObject29, 0);
                  localn2.a(localObject30, i50);
                  if (bool6) {
                    break label8132;
                  }
                  if (!bool5) {
                    break label8123;
                  }
                }
              }
              int i50 = (int)Math.rint(d10 - d9);
              localn2.a(localObject29, i50);
              localn2.a(localObject30, 0);
            }
          }
          localObject17 = ((a.c.d)localObject17).i();
          if (!bool5) {
            break label7862;
          }
          localObject13 = ((a.c.v)localObject13).a();
        } while (bool6);
        if (!bool5) {
          break label7830;
        }
      }
      if (((bool6) || (localk == null)) && (localObject1 == null) && (i3 != 0))
      {
        localObject13 = a((ab)localObject12, localn1);
        localObject14 = ((ab)localObject13).l();
        do
        {
          if (!((m)localObject14).e()) {
            break label8460;
          }
          localObject17 = ((m)localObject14).a();
          localObject19 = this.k.a(((a.c.d)localObject17).e());
          localObject21 = this.k.a(((a.c.d)localObject17).f());
          if (bool5) {
            break;
          }
          if (((ec)localObject19).d() != 0) {
            if (bool6) {}
          }
          int i36 = ((ec)localObject21).d() != 0 ? 1 : 0;
          if (!bool6) {
            if (((ec)localObject19).d() != 6) {
              if (bool6) {
                break label8317;
              }
            }
          }
          int i39 = ((ec)localObject21).d() == 7 ? 1 : 0;
          if ((bool6) || (i36 != 0)) {
            if (bool6) {}
          }
          int i43 = i39 == 0 ? 100000 : 10000;
          localObject29 = arrayOfe1[localObject17.d()].l();
          do
          {
            do
            {
              if (!((m)localObject29).e()) {
                break;
              }
              localObject30 = ((m)localObject29).a();
              i49 = ((n)localObject4).getInt(localObject30) + i43;
              ((n)localObject10).a(localObject30, i43);
              ((n)localObject4).a(localObject30, i49);
              ((m)localObject29).f();
              if (bool6) {
                break label8457;
              }
              if (bool5) {
                break label8455;
              }
            } while (!bool5);
          } while (bool6);
          ((m)localObject14).f();
        } while (!bool5);
      }
      if (bool6) {
        break;
      }
      i19++;
    } while (!bool5);
    arrayOfInt3 = null;
    int i48;
    if ((bool6) || ((this.p) && (i2 != 0)))
    {
      locale3 = ((a.c.q)localObject3).i();
      i19 = this.g;
      localObject12 = paramo.v();
      label8716:
      do
      {
        if (!((a.c.w)localObject12).e()) {
          break;
        }
        localObject13 = ((a.c.w)localObject12).d();
        if (bool6) {
          break label8738;
        }
        if (bool5) {
          break label8737;
        }
        if (a(paramo, parambc, (a.c.e)localObject13, false))
        {
          localObject14 = arrayOfe2[localObject13.f()];
          localObject17 = ((a.c.q)localObject3).i();
          localObject19 = ((a.c.q)localObject3).a((a.c.e)localObject17, locale3);
          localObject21 = ((a.c.q)localObject3).a((a.c.e)localObject17, (a.c.e)localObject14);
          ((n)localObject4).a(localObject19, i19);
          ((n)localObject4).a(localObject21, i19);
          double d7 = 2520.0D * paramo.m((a.c.e)localObject13);
          double d8 = 0.0D;
          if (!bool6) {
            if (d7 > d8)
            {
              i48 = (int)Math.rint(d7 - d8);
              localn2.a(localObject19, 0);
              localn2.a(localObject21, i48);
              if (bool6) {
                continue;
              }
              if (!bool5) {
                break label8716;
              }
            }
          }
          i48 = (int)Math.rint(d8 - d7);
          localn2.a(localObject19, i48);
          localn2.a(localObject21, 0);
        }
        ((a.c.w)localObject12).f();
      } while (!bool5);
    }
    label8737:
    label8738:
    label8946:
    label8951:
    Object localObject15;
    if (!bool6)
    {
      if (this.v == 1)
      {
        i19 = 0;
        localObject12 = ((a.c.q)localObject3).w();
        do
        {
          do
          {
            if (!((m)localObject12).e()) {
              break;
            }
            localObject13 = ((m)localObject12).a();
            int i25 = ((n)localObject4).getInt(localObject13) - ((n)localObject10).getInt(localObject13);
            if (bool5) {
              break label9020;
            }
            i19 += (i25 == 0 ? 1 : i25);
            ((m)localObject12).f();
          } while (!bool5);
        } while (bool6);
        localObject12 = ((ab)localObject7).l();
        do
        {
          if (!((m)localObject12).e()) {
            break;
          }
          localObject13 = ((m)localObject12).a();
          ((n)localObject4).a(localObject13, 2 * i19);
          if (bool6) {
            break label8951;
          }
          ((m)localObject12).f();
          if (bool5) {
            break label8946;
          }
        } while (!bool5);
      }
      int i20;
      if (!bool6)
      {
        m localm3 = ((ab)localObject7).l();
        do
        {
          if (!localm3.e()) {
            break;
          }
          localObject12 = localm3.a();
          ((n)localObject4).a(localObject12, 1);
          localm3.f();
        } while (!bool5);
        i20 = 0;
      }
      localObject12 = ((a.c.q)localObject3).w();
      do
      {
        do
        {
          if (!((m)localObject12).e()) {
            break;
          }
          localObject13 = ((m)localObject12).a();
          i20 = Math.max(i20, ((n)localObject4).getInt(localObject13));
          ((m)localObject12).f();
          if ((!bool6) && (bool5)) {
            break label9116;
          }
        } while (!bool5);
      } while (bool6);
      if (i20 > 20000)
      {
        label9020:
        int i22 = i20 / 19000;
        localObject13 = ((a.c.q)localObject3).w();
        do
        {
          if (!((m)localObject13).e()) {
            break;
          }
          localObject15 = ((m)localObject13).a();
          int i28 = ((n)localObject4).getInt(localObject15);
          if ((!bool6) && (bool5)) {
            break label9125;
          }
          if (i28 >= 1000) {
            ((n)localObject4).a(localObject15, i28 / i22 + 1000);
          }
          ((m)localObject13).f();
        } while (!bool5);
      }
    }
    label9116:
    label9125:
    long l2;
    int i37;
    label9450:
    int i47;
    label9477:
    label9631:
    label9633:
    label9644:
    int i45;
    if ((!bool6) && (this.m))
    {
      localObject15 = new int[((a.c.q)localObject3).j()];
      l2 = this.s - System.currentTimeMillis() + l1;
      if (!bool6)
      {
        a.a.db.a((a.c.q)localObject3, a.i.db.a((int[])localObject15), (k)localObject4, localn2, l2);
        if (locale3 != null)
        {
          int i33 = -localObject15[locale3.f()];
          a(paramo, paramac, parambc, i33, (int[])localObject15, arrayOfe2);
        }
      }
      int[] arrayOfInt4 = new int[((a.c.q)localObject3).j()];
      m localm4 = ((a.c.q)localObject3).w();
      do
      {
        do
        {
          if (!localm4.e()) {
            break;
          }
          ((a.c.q)localObject3).e(localm4.a());
          localm4.f();
        } while (!bool5);
      } while (bool6);
      i37 = 0;
      do
      {
        do
        {
          if (i37 >= arrayOfe1.length) {
            break;
          }
          a.c.e locale7 = arrayOfe1[i37];
          if (bool5) {
            break label9450;
          }
          if (locale7 != null)
          {
            a.c.d locald1 = locale7.i();
            localObject29 = locald1.j();
            ((a.c.q)localObject3).e(locald1);
            ((a.c.q)localObject3).e((a.c.d)localObject29);
            i48 = localn2.getInt(locald1);
            i49 = localn2.getInt(localObject29);
            localn2.a(locald1, i49);
            localn2.a(localObject29, i48);
          }
          i37++;
        } while (!bool5);
        l2 = this.s - System.currentTimeMillis() + l1;
        a.a.db.a((a.c.q)localObject3, a.i.db.a(arrayOfInt4), (k)localObject4, localn2, l2);
      } while (bool6);
      i37 = 0;
      int i40;
      do
      {
        if (i37 >= arrayOfInt4.length) {
          break;
        }
        i40 = arrayOfInt4[i37];
        arrayOfInt4[i37] = (-i40);
        i37++;
        if ((!bool6) && (bool5)) {
          break label9477;
        }
      } while (!bool5);
      if ((!bool6) && (locale3 != null))
      {
        i37 = -arrayOfInt4[locale3.f()];
        a(paramo, paramac, parambc, i37, arrayOfInt4, arrayOfe2);
      }
      if (locale3 != null)
      {
        i37 = -(localObject15[locale3.f()] + arrayOfInt4[locale3.f()]);
        if ((!bool6) && (!bool5)) {}
      }
      else
      {
        i40 = 2147483647;
        int i44 = 2147483647;
        if (!bool6) {
          if (locale1.d() > 0)
          {
            localObject29 = locale1.i();
            if (localObject29 != null) {}
            while (bool6)
            {
              i48 = ((a.c.d)localObject29).e().f();
              i49 = localn2.getInt(localObject29);
              i40 = Math.min(i40, localObject15[i48] - i49);
              i44 = Math.min(i44, arrayOfInt4[i48] - i49);
              localObject29 = ((a.c.d)localObject29).j();
              if (bool6) {
                break label9633;
              }
              if (bool5) {
                break label9631;
              }
              if (!bool5) {
                break;
              }
            }
            i37 = -(i40 + i44);
            if ((!bool6) && (!bool5)) {
              break label9644;
            }
          }
        }
        i37 = 0;
      }
      d2 = 0.0001984126984126984D;
      a.c.w localw = paramo.v();
      do
      {
        if (!localw.e()) {
          break;
        }
        a.c.e locale9 = localw.d();
        if (bool6) {
          break label10615;
        }
        i47 = arrayOfe2[locale9.f()].f();
        if (bool5) {
          break label10613;
        }
        if (locale3 != null)
        {
          if (bool6) {
            continue;
          }
          if (a(paramo, parambc, locale9, false)) {}
        }
        else
        {
          paramo.a(locale9, (localObject15[i47] + arrayOfInt4[i47] + i37) * d2, paramo.n(locale9));
        }
        localw.f();
      } while (!bool5);
      if ((bool6) || (bool6)) {
        break label10615;
      }
      if (arrayOfe3 == null) {
        break label10613;
      }
      arrayOfDouble1[0] = ((localObject15[locale1.f()] + arrayOfInt4[locale1.f()] + i37) * d2 - arrayOfDouble1[0]);
      int i41 = 0;
      if (i41 < arrayOfe3.length) {}
      while (bool6)
      {
        i45 = arrayOfe3[i41].f();
        arrayOfDouble2[i41] = ((localObject15[i45] + arrayOfInt4[i45] + i37) * d2);
        if (bool5) {
          break label9891;
        }
        if (i41 > 0) {
          arrayOfDouble1[i41] = arrayOfDouble2[(i41 - 1)];
        }
        i41++;
        if (!bool5) {
          break;
        }
      }
      if (arrayOfe3.length > 0) {
        label9891:
        arrayOfDouble1[arrayOfe3.length] = arrayOfDouble2[(arrayOfe3.length - 1)];
      }
      arrayOfDouble2[arrayOfe3.length] += (localObject15[locale2.f()] + arrayOfInt4[locale2.f()] + i37) * d2;
      if (!bool6) {
        if (!bool5) {
          break label10613;
        }
      }
    }
    else
    {
      localObject15 = new int[((a.c.q)localObject3).j()];
      l2 = this.s - System.currentTimeMillis() + l1;
    }
    a.a.db.a((a.c.q)localObject3, a.i.db.a((int[])localObject15), (k)localObject4, localn2, l2);
    double d2 = 0.0003968253968253968D;
    int i34;
    Object localObject26;
    if (locale3 != null)
    {
      i34 = -localObject15[locale3.f()];
      a(paramo, paramac, parambc, i34, (int[])localObject15, arrayOfe2);
      if ((!bool6) && (!bool5)) {}
    }
    else
    {
      i37 = 2147483647;
      if (!bool6) {
        if (locale1.e() > 0)
        {
          localObject26 = locale1.h();
          if (localObject26 != null) {}
          do
          {
            i45 = ((a.c.d)localObject26).f().f();
            i47 = localn2.getInt(localObject26);
            i37 = Math.min(i37, localObject15[i45] - i47);
            localObject26 = ((a.c.d)localObject26).i();
            if ((!bool6) && (bool5)) {
              break label10613;
            }
            if (!bool5) {
              break;
            }
            i34 = -i37;
          } while (bool6);
          if ((!bool6) && (!bool5)) {
            break label10144;
          }
        }
      }
      i34 = 0;
    }
    label10144:
    Object localObject23 = paramo.v();
    Object localObject28;
    label10242:
    do
    {
      do
      {
        if (!((a.c.w)localObject23).e()) {
          break;
        }
        localObject26 = ((a.c.w)localObject23).d();
        if (bool5) {
          break label10457;
        }
        if (!bool6) {
          if (locale3 != null)
          {
            if (bool6) {
              continue;
            }
            if (a(paramo, parambc, (a.c.e)localObject26, false)) {
              break label10242;
            }
          }
        }
        localObject28 = arrayOfe2[localObject26.f()];
        i47 = localObject15[localObject28.f()];
        paramo.a((a.c.e)localObject26, (i34 + i47) * d2, paramo.n((a.c.e)localObject26));
        ((a.c.w)localObject23).f();
      } while (!bool5);
    } while (bool6);
    if (c())
    {
      localObject23 = new z();
      localObject26 = paramo.v();
      do
      {
        if (!((a.c.w)localObject26).e()) {
          break;
        }
        localObject28 = ((a.c.w)localObject26).d();
        ((z)localObject23).add(new j_((a.c.e)localObject28, false, ((a.c.e)localObject28).d(), null));
        ((z)localObject23).add(new j_((a.c.e)localObject28, true, ((a.c.e)localObject28).e(), null));
        if (bool6) {
          break label10389;
        }
        ((a.c.w)localObject26).f();
        if (bool5) {
          break label10384;
        }
      } while (!bool5);
      if (!bool6) {
        ((z)localObject23).a(new Comparator()
        {
          public int compare(Object paramAnonymousObject1, Object paramAnonymousObject2)
          {
            return l.a(((uc.j_)paramAnonymousObject1).e, ((uc.j_)paramAnonymousObject2).e);
          }
        });
      }
      label10384:
      label10389:
      localObject26 = ((z)localObject23).h();
      do
      {
        if (!((a.c.y)localObject26).e()) {
          break;
        }
        localObject28 = (j_)((a.c.y)localObject26).j();
        a(((j_)localObject28).a, paramo, this.k, 0.5D, ((j_)localObject28).c);
        ((a.c.y)localObject26).f();
        if ((!bool6) && (bool5)) {
          break label10613;
        }
      } while (!bool5);
    }
    label10457:
    int i38;
    if ((!bool6) && (!bool6)) {
      if (arrayOfe3 != null)
      {
        arrayOfDouble1[0] = ((localObject15[locale1.f()] + i34) * d2 - arrayOfDouble1[0]);
        i38 = 0;
        if (i38 < arrayOfe3.length) {}
        while (bool6)
        {
          int i42 = arrayOfe3[i38].f();
          arrayOfDouble2[i38] = ((localObject15[i42] + i34) * d2);
          if (bool5) {
            break label10572;
          }
          if (i38 > 0) {
            arrayOfDouble1[i38] = arrayOfDouble2[(i38 - 1)];
          }
          i38++;
          if (!bool5) {
            break;
          }
        }
        if (arrayOfe3.length > 0) {
          label10572:
          arrayOfDouble1[arrayOfe3.length] = arrayOfDouble2[(arrayOfe3.length - 1)];
        }
        arrayOfDouble2[arrayOfe3.length] += (localObject15[locale2.f()] + i34) * d2;
      }
    }
    label10613:
    if (arrayOfe3 != null)
    {
      label10615:
      int i26 = 0;
      do
      {
        if (i26 >= paramac.a()) {
          break;
        }
        int i29 = 0;
        if (bool5) {
          break label10801;
        }
        localObject19 = paramac.a(i26).c().f();
        do
        {
          if (localObject19 == null) {
            break;
          }
          a.c.e locale5 = (a.c.e)((a.c.v)localObject19).c();
          i38 = locale5.f();
          arrayOfInt1[i38] = (i29++);
          vc localvc = this.k.a(locale5).n();
          if (bool6) {
            break label10783;
          }
          if (bool5) {
            break label10781;
          }
          if ((bool6) || (localvc != null))
          {
            int i46 = localvc.j();
            localvc.e(arrayOfDouble1[i46]);
            localvc.f(arrayOfDouble2[i46] - arrayOfDouble1[i46]);
          }
          localObject19 = ((a.c.v)localObject19).a();
        } while (!bool5);
        if (!bool6) {
          i26++;
        }
      } while (!bool5);
    }
    label10781:
    label10783:
    this.k = null;
    if (!bool6) {
      this.d = null;
    }
    label10801:
    if (bool6) {
      a.c.q.o = !a.c.q.o;
    }
  }
  
  void a(ac paramac)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    int i1 = 0;
    label116:
    do
    {
      do
      {
        if (i1 >= paramac.a()) {
          break;
        }
        vb localvb = paramac.a(i1);
        int i2 = 0;
        a.c.v localv = localvb.c().f();
        do
        {
          if (localv == null) {
            break label116;
          }
          a.c.e locale = (a.c.e)localv.c();
          ec localec = this.k.a(locale);
          if (bool1) {
            break;
          }
          if ((localec instanceof d.q_))
          {
            d.q_ localq_ = (d.q_)localec;
            localq_.a(i2);
          }
          localv = localv.a();
          i2++;
        } while (!bool1);
        i1++;
      } while (bool2);
    } while (!bool1);
  }
  
  private ab a(ab paramab, k paramk)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    a.c.q localq = new a.c.q();
    HashSet localHashSet1 = new HashSet();
    bb localbb1 = new bb();
    HashSet localHashSet2 = new HashSet();
    bb localbb2 = new bb();
    n localn = a.i.db.b();
    x localx = a.i.db.a();
    Object localObject1 = paramab.l();
    Object localObject2;
    do
    {
      if (!((m)localObject1).e()) {
        break;
      }
      localObject2 = ((m)localObject1).a();
      if (!bool2)
      {
        if (!paramk.getBool(localObject2))
        {
          if (!bool2) {
            if (localHashSet1.add(((a.c.d)localObject2).e())) {
              localbb1.add(((a.c.d)localObject2).e());
            }
          }
          if ((bool2) || (localHashSet2.add(((a.c.d)localObject2).f()))) {
            localbb2.add(((a.c.d)localObject2).f());
          }
          localObject3 = localq.i();
          localn.a(localObject2, localObject3);
          localx.a(localObject3, localObject2);
        }
        ((m)localObject1).f();
      }
    } while (!bool1);
    localObject1 = localbb1.l();
    label217:
    if (((a.c.w)localObject1).e()) {}
    int i2;
    Object localObject5;
    int i3;
    a.c.e locale;
    label403:
    label416:
    while (bool2)
    {
      localObject2 = ((a.c.w)localObject1).d();
      localObject3 = this.k.a((a.c.e)localObject2);
      if (bool1) {
        break label452;
      }
      if (((ec)localObject3).d() != 0)
      {
        localObject4 = new ab(((a.c.e)localObject2).n()).p();
        i2 = 0;
        do
        {
          do
          {
            if (i2 >= localObject4.length) {
              break label416;
            }
            if (bool1) {
              break;
            }
            if (!paramk.getBool(localObject4[i2]))
            {
              localObject5 = (a.c.e)localn.get(localObject4[i2]);
              i3 = i2 + 1;
              do
              {
                if (i3 >= localObject4.length) {
                  break label403;
                }
                if (bool1) {
                  break;
                }
                if (!paramk.getBool(localObject4[i3]))
                {
                  locale = (a.c.e)localn.get(localObject4[i3]);
                  if (bool2) {
                    continue;
                  }
                  if (((a.c.e)localObject5).c(locale) == null) {
                    localq.a((a.c.e)localObject5, locale);
                  }
                }
                i3++;
              } while (!bool1);
            }
            i2++;
          } while (bool2);
        } while (!bool1);
      }
      ((a.c.w)localObject1).f();
      if (bool2) {
        break label217;
      }
      if (!bool1) {
        break;
      }
    }
    localObject1 = localbb2.l();
    label452:
    label638:
    do
    {
      do
      {
        if (!((a.c.w)localObject1).e()) {
          break label668;
        }
        localObject2 = ((a.c.w)localObject1).d();
        localObject3 = this.k.a((a.c.e)localObject2);
        if (bool2) {
          break;
        }
        if (((ec)localObject3).d() != 0)
        {
          localObject4 = new ab(((a.c.e)localObject2).m()).p();
          i2 = 0;
          do
          {
            do
            {
              if (i2 >= localObject4.length) {
                break label651;
              }
              if (bool1) {
                break;
              }
              if (!paramk.getBool(localObject4[i2]))
              {
                localObject5 = (a.c.e)localn.get(localObject4[i2]);
                i3 = i2 + 1;
                do
                {
                  if (i3 >= localObject4.length) {
                    break label638;
                  }
                  if (bool1) {
                    break;
                  }
                  if (!paramk.getBool(localObject4[i3]))
                  {
                    locale = (a.c.e)localn.get(localObject4[i3]);
                    if (bool2) {
                      continue;
                    }
                    if (((a.c.e)localObject5).c(locale) == null) {
                      localq.a((a.c.e)localObject5, locale);
                    }
                  }
                  i3++;
                } while (!bool1);
              }
              i2++;
            } while (bool2);
          } while (!bool1);
        }
        ((a.c.w)localObject1).f();
      } while (bool2);
    } while (!bool1);
    label651:
    label668:
    localObject1 = paramab.p();
    int i1 = 0;
    Object localObject6;
    label809:
    do
    {
      do
      {
        if (i1 >= localObject1.length) {
          break label822;
        }
        localObject3 = localObject1[i1];
        if (bool2) {
          break;
        }
        if (!paramk.getBool(localObject3))
        {
          localObject4 = (a.c.e)localn.get(localObject3);
          i2 = i1 + 1;
          do
          {
            if (i2 >= localObject1.length) {
              break label809;
            }
            localObject5 = localObject1[i2];
            if (bool1) {
              break;
            }
            if (!paramk.getBool(localObject5))
            {
              if (bool2) {
                continue;
              }
              if (a((a.c.d)localObject3, (a.c.d)localObject5, this.k))
              {
                localObject6 = (a.c.e)localn.get(localObject5);
                localq.a((a.c.e)localObject4, (a.c.e)localObject6);
              }
            }
            i2++;
          } while (!bool1);
        }
        i1++;
      } while (bool2);
    } while (!bool1);
    label822:
    ab localab = new ab();
    Object localObject3 = a.a.q.b(localq);
    Object localObject4 = ((bb)localObject3).l();
    if (((a.c.w)localObject4).e()) {}
    label959:
    label968:
    while (bool2)
    {
      a.c.d locald = (a.c.d)localx.get(((a.c.w)localObject4).d());
      localObject5 = this.k.a(locald.e());
      localObject6 = this.k.a(locald.f());
      if (!bool2) {
        if (j())
        {
          if (bool2) {
            break label968;
          }
          if (((ec)localObject5).d() == 6) {
            break label959;
          }
          if (bool2) {
            break label968;
          }
          if (((ec)localObject6).d() == 7) {
            break label959;
          }
        }
      }
      localab.add(locald);
      ((a.c.w)localObject4).f();
      if (!bool1) {
        break;
      }
    }
    return localab;
  }
  
  private static boolean a(a.c.d paramd1, a.c.d paramd2, bc parambc)
  {
    boolean bool = d.R;
    ec localec1 = parambc.a(paramd1.e());
    ec localec2 = parambc.a(paramd2.e());
    ec localec3 = parambc.a(paramd1.f());
    ec localec4 = parambc.a(paramd2.f());
    if ((bool) || (localec1.h() == localec2.h()))
    {
      if (bool) {
        break label118;
      }
      if (localec3.h() == localec4.h()) {}
    }
    else
    {
      throw new RuntimeException("wrong input");
    }
    label118:
    if (!bool) {
      if (localec1.i() < localec2.i())
      {
        if (bool) {
          break label192;
        }
        if (localec3.i() > localec4.i()) {
          break label191;
        }
      }
    }
    if (!bool)
    {
      if (localec1.i() <= localec2.i()) {
        break label195;
      }
      if (bool) {
        break label192;
      }
    }
    label191:
    label192:
    label195:
    return localec3.i() < localec4.i();
  }
  
  private void a(o paramo, ac paramac, bc parambc, int paramInt, int[] paramArrayOfInt, a.c.e[] paramArrayOfe)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if (!bool2) {
      if (!this.r) {
        return;
      }
    }
    int i1 = 0;
    label527:
    label529:
    label531:
    label552:
    label605:
    label636:
    label638:
    do
    {
      if (i1 >= paramac.a()) {
        break;
      }
      vb localvb = paramac.a(i1);
      Object localObject = null;
      int i2 = 0;
      a.c.v localv1 = localvb.c().f();
      a.c.e locale1;
      do
      {
        if (localv1 == null) {
          break;
        }
        locale1 = (a.c.e)localv1.c();
        if (bool1) {
          break label552;
        }
        if (a(paramo, parambc, locale1, false))
        {
          int i3 = (int)Math.rint(paramo.m(locale1) * 2520.0D) - (paramInt + paramArrayOfInt[paramArrayOfe[locale1.f()].f()]);
          if ((bool2) || (i3 == 0))
          {
            if (bool2) {
              break label527;
            }
            if (i2 == 0) {}
          }
          else
          {
            if (localObject == null)
            {
              if (i3 < 0)
              {
                a.c.v localv2 = localvb.c().f();
                do
                {
                  if (localv2 == localv1) {
                    break;
                  }
                  a.c.e locale2 = (a.c.e)localv2.c();
                  paramArrayOfInt[paramArrayOfe[locale2.f()].f()] += i3;
                  if (bool2) {
                    break label531;
                  }
                  localv2 = localv2.a();
                  if (bool1) {
                    break label529;
                  }
                } while (!bool1);
              }
            }
            else
            {
              int i4 = i3 - i2;
              if (bool2) {
                break label527;
              }
              int i5;
              if (!bool2)
              {
                if (i4 < 0)
                {
                  i5 = 1;
                  int i6 = paramArrayOfInt[paramArrayOfe[((a.c.e)localObject.c()).f()].f()] - i2;
                  int i7 = paramArrayOfInt[paramArrayOfe[locale1.f()].f()];
                  a.c.v localv4 = localObject.a();
                  do
                  {
                    if (localv4 == localv1) {
                      break;
                    }
                    a.c.e locale4 = (a.c.e)localv4.c();
                    double d1 = (paramArrayOfInt[paramArrayOfe[locale4.f()].f()] - i6) / (i7 - i6);
                    paramArrayOfInt[paramArrayOfe[locale4.f()].f()] = (i6 + i2 + (int)Math.rint(d1 * (i7 + i3 - (i6 + i2))));
                    if (bool2) {
                      break label531;
                    }
                    localv4 = localv4.a();
                    i5++;
                    if (bool1) {
                      break label529;
                    }
                  } while (!bool1);
                }
                if (bool2) {
                  break label527;
                }
              }
              if ((bool2) || (i2 > 0))
              {
                i5 = i2 + i4 / 2;
                a.c.v localv3 = localObject.a();
                do
                {
                  if (localv3 == localv1) {
                    break;
                  }
                  a.c.e locale3 = (a.c.e)localv3.c();
                  paramArrayOfInt[paramArrayOfe[locale3.f()].f()] += i5;
                  if (bool2) {
                    break label531;
                  }
                  localv3 = localv3.a();
                  if (bool1) {
                    break label529;
                  }
                } while (!bool1);
              }
            }
            if (bool2) {
              break label605;
            }
            paramArrayOfInt[paramArrayOfe[locale1.f()].f()] += i3;
          }
          i2 = i3;
          localObject = localv1;
        }
        localv1 = localv1.a();
      } while (!bool1);
      if (!bool2)
      {
        if (i2 > 0) {
          if ((bool2) || (localObject != null))
          {
            localv1 = localObject.a();
            do
            {
              if (localv1 == null) {
                break;
              }
              locale1 = (a.c.e)localv1.c();
              paramArrayOfInt[paramArrayOfe[locale1.f()].f()] += i2;
              localv1 = localv1.a();
              if (bool2) {
                break label638;
              }
              if (bool1) {
                break label636;
              }
            } while (!bool1);
          }
        }
        if (bool2) {}
      }
      else
      {
        i1++;
      }
    } while (!bool1);
  }
  
  private void a(a.c.e parame1, a.c.e parame2, double paramDouble1, double paramDouble2, a.c.q paramq, n paramn1, n paramn2)
  {
    a(parame1, parame2, paramDouble1, (int)Math.rint(paramDouble2), paramq, paramn1, paramn2);
  }
  
  private a.c.d a(a.c.e parame1, a.c.e parame2, double paramDouble, int paramInt, a.c.q paramq, n paramn1, n paramn2)
  {
    boolean bool = d.R;
    a.c.d locald = paramq.a(parame1, parame2);
    if (!bool)
    {
      paramn1.a(locald, paramInt);
      if (paramDouble > 0.0D)
      {
        int i1 = (int)Math.ceil(2520.0D * paramDouble);
        if (bool) {
          break label74;
        }
        paramn2.a(locald, i1);
        if (!d.Q) {
          break label79;
        }
      }
    }
    label74:
    paramn2.a(locald, 0);
    label79:
    return locald;
  }
  
  protected double a(o paramo, vb paramvb, a.c.e parame1, a.c.e parame2)
  {
    boolean bool = d.R;
    if (!bool) {
      if ((this.r) && ((bool) || ((parame1 != null) && (parame2 != null))))
      {
        if (bool) {
          break label73;
        }
        if (a(paramo, this.k, parame1, false))
        {
          if (bool) {
            break label73;
          }
          if (a(paramo, this.k, parame2, false)) {
            return 0.0D;
          }
        }
      }
    }
    label73:
    if ((bool) || (this.d != null))
    {
      double d1 = this.d.a(paramo, paramvb, this.k, parame1, parame2);
      if (bool) {
        break label120;
      }
      if (d1 >= 0.0D) {
        return d1;
      }
    }
    label120:
    return 0.0D;
  }
  
  public boolean k()
  {
    return this.y;
  }
  
  public void h(boolean paramBoolean)
  {
    this.y = paramBoolean;
  }
  
  private void a(a.c.d paramd, o paramo, bc parambc, double paramDouble, boolean paramBoolean)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    y localy = parambc.a(paramd);
    if (a(localy, false))
    {
      z localz = a(paramd.e(), parambc, paramo);
      Object localObject1 = new z();
      Object localObject2 = new z();
      int i1 = 0;
      Object localObject3 = null;
      a.c.y localy1 = localz.h();
      g_ localg_1;
      label191:
      do
      {
        if (!localy1.e()) {
          break;
        }
        localg_1 = (g_)localy1.j();
        if ((!bool2) && (bool1)) {
          return;
        }
        if (!bool2) {
          if (localg_1.a(paramd))
          {
            i1 = 1;
            localObject3 = localg_1;
            localObject3.c(new a.d.w(0.0D, localg_1.h().b));
            if (bool2) {
              continue;
            }
            if (!bool1) {
              break label191;
            }
          }
        }
        if (!bool2) {
          if (i1 == 0)
          {
            ((z)localObject1).add(localg_1);
            if (bool2) {
              continue;
            }
            if (!bool1) {
              break label191;
            }
          }
        }
        ((z)localObject2).add(localg_1);
        localy1.f();
      } while (!bool1);
      double d1 = paramo.s(paramd.e()) / 2.0D;
      if (!bool2)
      {
        if (!bool2) {}
        int i2 = paramBoolean ? Math.max(((z)localObject1).size(), ((z)localObject2).size()) : ((z)localObject1).size();
        double d3 = d1 / (i2 + paramDouble);
        double d4 = 0.0D;
        ((z)localObject1).j();
        a.c.y localy3 = ((z)localObject1).h();
        g_ localg_2;
        do
        {
          do
          {
            if (!localy3.e()) {
              break;
            }
            localg_2 = (g_)localy3.j();
            d4 -= d3;
            localg_2.c(new a.d.w(d4, localg_2.h().b));
            localy3.f();
            if ((!bool2) && (bool1)) {
              break label385;
            }
          } while (!bool1);
        } while (bool2);
        if (!bool2) {}
        label385:
        i2 = paramBoolean ? Math.max(((z)localObject1).size(), ((z)localObject2).size()) : ((z)localObject2).size();
        d3 = d1 / (i2 + paramDouble);
        d4 = 0.0D;
        localy3 = ((z)localObject2).h();
        if (localy3.e()) {}
        while (bool2)
        {
          localg_2 = (g_)localy3.j();
          d4 += d3;
          localg_2.c(new a.d.w(d4, localg_2.h().b));
          localy3.f();
          if ((!bool2) && (bool1)) {
            break label503;
          }
          if (!bool1) {
            break;
          }
        }
        localz = b(paramd.f(), parambc, paramo);
        label503:
        localObject1 = new ab();
        localObject2 = new ab();
        i1 = 0;
        localObject3 = null;
        a.c.y localy2 = localz.h();
        label654:
        do
        {
          if (!localy2.e()) {
            break;
          }
          localg_1 = (g_)localy2.j();
          if ((!bool2) && (bool1)) {
            return;
          }
          if (!bool2) {
            if (localg_1.a(paramd))
            {
              i1 = 1;
              localObject3 = localg_1;
              localObject3.d(new a.d.w(0.0D, localg_1.i().b));
              if (bool2) {
                continue;
              }
              if (!bool1) {
                break label654;
              }
            }
          }
          if (!bool2) {
            if (i1 == 0)
            {
              ((z)localObject1).add(localg_1);
              if (bool2) {
                continue;
              }
              if (!bool1) {
                break label654;
              }
            }
          }
          ((z)localObject2).add(localg_1);
          localy2.f();
        } while (!bool1);
        double d2 = paramo.s(paramd.f()) / 2.0D;
        if (!bool2)
        {
          if (!bool2) {}
          i2 = paramBoolean ? Math.max(((z)localObject1).size(), ((z)localObject2).size()) : ((z)localObject1).size();
          d3 = d2 / (i2 + paramDouble);
          d4 = 0.0D;
          ((z)localObject1).j();
          localy3 = ((z)localObject1).h();
          do
          {
            do
            {
              if (!localy3.e()) {
                break;
              }
              localg_2 = (g_)localy3.j();
              d4 -= d3;
              localg_2.d(new a.d.w(d4, localg_2.i().b));
              localy3.f();
              if ((!bool2) && (bool1)) {
                break label848;
              }
            } while (!bool1);
          } while (bool2);
          if (!bool2) {}
          label848:
          i2 = paramBoolean ? Math.max(((z)localObject1).size(), ((z)localObject2).size()) : ((z)localObject2).size();
          d3 = d2 / (i2 + paramDouble);
          d4 = 0.0D;
          localy3 = ((z)localObject2).h();
          do
          {
            if (!localy3.e()) {
              break;
            }
            localg_2 = (g_)localy3.j();
            d4 += d3;
            localg_2.d(new a.d.w(d4, localg_2.i().b));
            localy3.f();
          } while (!bool1);
        }
      }
    }
  }
  
  private void a(a.c.e parame, o paramo, bc parambc, double paramDouble, boolean paramBoolean)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    double d1 = paramo.p(parame);
    double d2 = d1 + paramo.s(parame);
    z localz1;
    z localz2;
    double d3;
    z localz3;
    g_ localg_;
    double d4;
    if (paramBoolean)
    {
      localz1 = a(parame, parambc, paramo);
      localz2 = new z();
      d3 = d1;
      localz3 = new z();
      localObject = new z();
      i1 = localz1.size();
      localy = localz1.h();
      if (localy.e()) {}
      label272:
      label273:
      label282:
      while (bool2)
      {
        localg_ = (g_)localy.j();
        i1--;
        d4 = localg_.g().a;
        if (bool1) {
          break label295;
        }
        if (a(localg_, paramo, true))
        {
          if (bool2) {
            break label272;
          }
          if (d4 > d3)
          {
            if (bool2) {
              break label272;
            }
            if (d4 - d3 > 3.0D * (((z)localObject).size() + 1))
            {
              if (bool2) {
                break label272;
              }
              if (d2 - d4 > 3.0D * (i1 + 1))
              {
                d3 = localg_.g().a;
                localg_.a(new a.d.w(d3, localg_.f().b));
                localz2.add(localg_);
                localz3.add(localObject);
                localObject = new z();
                if (bool2) {
                  break label282;
                }
                if (!bool1) {
                  break label273;
                }
              }
            }
          }
        }
        ((z)localObject).add(localg_);
        localy.f();
        if (!bool1) {
          break;
        }
      }
      if (localz2.isEmpty()) {
        label295:
        return;
      }
      localz3.add(localObject);
      a((g_[])localz2.toArray(new g_[localz2.size()]), localz3, paramo, true, paramDouble, false);
      if (!bool2) {
        if (!bool1) {
          return;
        }
      }
    }
    else
    {
      localz1 = b(parame, parambc, paramo);
      localz2 = new z();
      d3 = d1;
      localz3 = new z();
    }
    Object localObject = new ab();
    int i1 = localz1.size();
    a.c.y localy = localz1.h();
    if (localy.e()) {}
    label583:
    label584:
    label593:
    while (bool2)
    {
      localg_ = (g_)localy.j();
      i1--;
      d4 = localg_.f().a;
      if (bool1) {
        break label606;
      }
      if (a(localg_, paramo, false))
      {
        if (bool2) {
          break label583;
        }
        if (d4 > d3)
        {
          if (bool2) {
            break label583;
          }
          if (d4 - d3 > 3.0D * (((z)localObject).size() + 1))
          {
            if (bool2) {
              break label583;
            }
            if (d2 - d4 > 3.0D * (i1 + 1))
            {
              d3 = localg_.f().a;
              localg_.b(new a.d.w(d3, localg_.g().b));
              localz2.add(localg_);
              localz3.add(localObject);
              localObject = new z();
              if (bool2) {
                break label593;
              }
              if (!bool1) {
                break label584;
              }
            }
          }
        }
      }
      ((z)localObject).add(localg_);
      localy.f();
      if (!bool1) {
        break;
      }
    }
    if (!localz2.isEmpty())
    {
      label606:
      localz3.add(localObject);
      a((g_[])localz2.toArray(new g_[localz2.size()]), localz3, paramo, false, paramDouble, false);
    }
  }
  
  private static boolean a(g_ paramg_, o paramo, boolean paramBoolean)
  {
    boolean bool = d.R;
    if (paramBoolean)
    {
      localt = paramo.v(paramg_.a());
      d1 = paramg_.g().a;
      if (((!bool) && (paramg_.c() == null)) || (((bool) || (!paramg_.c().a())) && ((bool) || (paramg_.c().d())) && ((bool) || (d1 > localt.d())))) {
        if (bool) {}
      }
      return d1 < localt.d() + localt.b();
    }
    t localt = paramo.v(paramg_.b());
    double d1 = paramg_.f().a;
    if (((!bool) && (paramg_.d() == null)) || (((bool) || (!paramg_.d().a())) && ((bool) || (paramg_.d().c())) && ((bool) || (d1 > localt.d())))) {
      if (bool) {}
    }
    return d1 < localt.d() + localt.b();
  }
  
  private void a(g_[] paramArrayOfg_, z paramz, o paramo, boolean paramBoolean1, double paramDouble, boolean paramBoolean2)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    if ((bool2) || (paramArrayOfg_ != null))
    {
      if (bool2) {
        break label31;
      }
      if (paramArrayOfg_.length != 0) {}
    }
    else
    {
      return;
    }
    label31:
    int i1 = 0;
    if (paramBoolean2)
    {
      localy1 = paramz.h();
      do
      {
        if (!localy1.e()) {
          break;
        }
        z localz1 = (z)localy1.j();
        i1 = Math.max(i1, localz1.size());
        localy1.f();
        if (bool2) {
          break label108;
        }
        if (bool1) {
          break label106;
        }
      } while (!bool1);
    }
    a.c.y localy1 = paramz.h();
    label106:
    label108:
    double d1 = paramBoolean1 ? paramo.p(paramArrayOfg_[0].a()) : paramo.p(paramArrayOfg_[0].b());
    int i2 = 0;
    g_ localg_1;
    double d2;
    label387:
    do
    {
      do
      {
        if (i2 >= paramArrayOfg_.length) {
          break label411;
        }
        if (bool1) {
          break label423;
        }
        localg_1 = paramArrayOfg_[i2];
        d2 = paramBoolean1 ? localg_1.f().a : localg_1.g().a;
        z localz3 = (z)localy1.j();
        if (bool2) {
          break;
        }
        if (!localz3.isEmpty())
        {
          if (!bool2) {}
          int i4 = paramBoolean2 ? i1 : localz3.size();
          if (!bool2) {}
          double d4 = i2 == 0 ? i4 + paramDouble : i4 + 1;
          double d6 = (d2 - d1) / d4;
          localz3.j();
          double d7 = d2;
          a.c.y localy3 = localz3.h();
          do
          {
            if (!localy3.e()) {
              break label387;
            }
            g_ localg_3 = (g_)localy3.j();
            d7 -= d6;
            if (bool1) {
              break;
            }
            if (paramBoolean1)
            {
              localg_3.a(new a.d.w(d7, localg_3.f().b));
              if (bool2) {
                continue;
              }
              if (!bool1) {}
            }
            else
            {
              localg_3.b(new a.d.w(d7, localg_3.g().b));
            }
            localy3.f();
          } while (!bool1);
        }
        d1 = d2;
        localy1.f();
        i2++;
      } while (bool2);
    } while (!bool1);
    label411:
    if (!bool2) {}
    label423:
    z localz2 = (z)localy1.j();
    if (!localz2.isEmpty())
    {
      localg_1 = paramArrayOfg_[(paramArrayOfg_.length - 1)];
      d2 = paramBoolean1 ? paramo.p(localg_1.a()) + paramo.s(localg_1.a()) : paramo.p(localg_1.b()) + paramo.s(localg_1.b());
      if (!bool2) {}
      int i3 = paramBoolean2 ? i1 : localz2.size();
      double d3 = (d2 - d1) / (i3 + paramDouble);
      double d5 = d1;
      a.c.y localy2 = localz2.h();
      label632:
      do
      {
        if (!localy2.e()) {
          break;
        }
        g_ localg_2 = (g_)localy2.j();
        d5 += d3;
        if (!bool2)
        {
          if (paramBoolean1) {
            localg_2.a(new a.d.w(d5, localg_2.f().b));
          }
        }
        else
        {
          if (bool2) {
            continue;
          }
          if (!bool1) {
            break label632;
          }
        }
        localg_2.b(new a.d.w(d5, localg_2.g().b));
        localy2.f();
      } while (!bool1);
    }
  }
  
  private static boolean a(y paramy, boolean paramBoolean)
  {
    boolean bool = d.R;
    if ((bool) || ((paramy.d() == null) || ((bool) || (((!paramy.d().a()) || ((bool) || (paramBoolean))) && ((bool) || (paramy.d().d())))))) {
      if ((bool) || (paramy.f() != null))
      {
        if ((!bool) && ((paramy.f().a()) && ((!bool) && (!paramBoolean)))) {
          break label114;
        }
        if (bool) {
          break label111;
        }
      }
    }
    label111:
    label114:
    return paramy.f().c();
  }
  
  private z a(a.c.e parame, bc parambc, o paramo)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    z localz = new z();
    Object localObject1 = parame.n();
    Object localObject2;
    Object localObject3;
    do
    {
      if (!((m)localObject1).e()) {
        break;
      }
      localObject2 = ((m)localObject1).a();
      if (bool1) {
        break label124;
      }
      localObject3 = parambc.a((a.c.d)localObject2);
      if ((bool2) || (((y)localObject3).d() != null))
      {
        if (bool2) {
          continue;
        }
        if (((y)localObject3).d().a()) {}
      }
      else
      {
        localz.add(new g_((a.c.d)localObject2, paramo, parambc, false, null));
      }
      ((m)localObject1).f();
    } while (!bool1);
    label124:
    localObject1 = parambc.a(parame);
    if ((bool2) || (((ec)localObject1).c() > 0))
    {
      localObject2 = ((ec)localObject1).b();
      do
      {
        if (localObject2 == null) {
          break;
        }
        localObject3 = (a.c.d)((a.c.v)localObject2).c();
        y localy = parambc.a((a.c.d)localObject3);
        if (bool1) {
          break label391;
        }
        if (!bool2) {
          if ((((a.c.d)localObject3).e() == parame) && ((bool2) || (localy.d() != null)) && ((bool2) || (!localy.d().a()))) {
            if (!bool2)
            {
              if (localy.d().b() == 2) {
                localz.add(new g_((a.c.d)localObject3, paramo, parambc, false, null));
              }
            }
            else {
              if (bool2) {
                continue;
              }
            }
          }
        }
        if ((bool1) && (((a.c.d)localObject3).f() == parame)) {
          if ((bool2) || (localy.f() != null))
          {
            if (bool2) {
              continue;
            }
            if (!localy.f().a())
            {
              if (bool2) {
                continue;
              }
              if (localy.f().b() == 2) {
                localz.add(new g_((a.c.d)localObject3, paramo, parambc, true, null));
              }
            }
          }
        }
        localObject2 = ((a.c.v)localObject2).a();
      } while (!bool1);
    }
    if (!bool2) {
      localz.a(new Comparator()
      {
        public int compare(Object paramAnonymousObject1, Object paramAnonymousObject2)
        {
          uc.g_ localg_1 = (uc.g_)paramAnonymousObject1;
          uc.g_ localg_2 = (uc.g_)paramAnonymousObject2;
          return l.a(localg_1.f().a, localg_2.f().a);
        }
      });
    }
    label391:
    return localz;
  }
  
  private z b(a.c.e parame, bc parambc, o paramo)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    ab localab = new ab();
    Object localObject1 = parame.m();
    Object localObject2;
    Object localObject3;
    do
    {
      if (!((m)localObject1).e()) {
        break;
      }
      localObject2 = ((m)localObject1).a();
      if (bool1) {
        break label124;
      }
      localObject3 = parambc.a((a.c.d)localObject2);
      if ((bool2) || (((y)localObject3).f() != null))
      {
        if (bool2) {
          continue;
        }
        if (((y)localObject3).f().a()) {}
      }
      else
      {
        localab.add(new g_((a.c.d)localObject2, paramo, parambc, false, null));
      }
      ((m)localObject1).f();
    } while (!bool1);
    label124:
    localObject1 = parambc.a(parame);
    if ((bool2) || (((ec)localObject1).c() > 0))
    {
      localObject2 = ((ec)localObject1).b();
      do
      {
        if (localObject2 == null) {
          break;
        }
        localObject3 = (a.c.d)((a.c.v)localObject2).c();
        y localy = parambc.a((a.c.d)localObject3);
        if (bool1) {
          break label391;
        }
        if (!bool2) {
          if ((((a.c.d)localObject3).f() == parame) && ((bool2) || (localy.f() != null)) && ((bool2) || (!localy.f().a()))) {
            if (!bool2)
            {
              if (localy.f().b() == 1) {
                localab.add(new g_((a.c.d)localObject3, paramo, parambc, false, null));
              }
            }
            else {
              if (bool2) {
                continue;
              }
            }
          }
        }
        if ((bool1) && (((a.c.d)localObject3).e() == parame)) {
          if ((bool2) || (localy.d() != null))
          {
            if (bool2) {
              continue;
            }
            if (!localy.d().a())
            {
              if (bool2) {
                continue;
              }
              if (localy.d().b() == 1) {
                localab.add(new g_((a.c.d)localObject3, paramo, parambc, true, null));
              }
            }
          }
        }
        localObject2 = ((a.c.v)localObject2).a();
      } while (!bool1);
    }
    if (!bool2) {
      localab.a(new Comparator()
      {
        public int compare(Object paramAnonymousObject1, Object paramAnonymousObject2)
        {
          uc.g_ localg_1 = (uc.g_)paramAnonymousObject1;
          uc.g_ localg_2 = (uc.g_)paramAnonymousObject2;
          return l.a(localg_1.g().a, localg_2.g().a);
        }
      });
    }
    label391:
    return localab;
  }
  
  private void a(o paramo, ac paramac, bc parambc, n paramn, k paramk)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    int[] arrayOfInt = new int[paramo.k()];
    int i1 = paramac.a();
    int i2 = 0;
    a.c.w localw1 = paramac.a(0).c().l();
    do
    {
      do
      {
        if (!localw1.e()) {
          break;
        }
        arrayOfInt[localw1.d().f()] = (i2++);
        localw1.f();
      } while (!bool1);
    } while (bool2);
    int i3 = 1;
    label313:
    label346:
    label348:
    do
    {
      if (i3 >= i1) {
        break;
      }
      z localz = new z();
      i2 = 0;
      a.c.w localw2 = paramac.a(i3).c().l();
      do
      {
        if (!localw2.e()) {
          break;
        }
        a.c.e locale = localw2.d();
        arrayOfInt[locale.f()] = (i2++);
        if (bool2) {
          break label348;
        }
        if (bool1) {
          break label346;
        }
        m localm = locale.m();
        do
        {
          do
          {
            if (!localm.e()) {
              break label313;
            }
            a.c.d locald = localm.a();
            y localy = parambc.a(locald);
            paramn.a(locald, false);
            double d1 = a(paramo, locald, parambc, paramk);
            if (bool1) {
              break;
            }
            if (d1 > 0.0D)
            {
              if (bool2) {
                continue;
              }
              if (a(localy, true))
              {
                k_ localk_ = new k_(arrayOfInt[locald.e().f()], arrayOfInt[locald.f().f()], locald, d1);
                localz.add(localk_);
              }
            }
            localm.f();
          } while (!bool1);
          localw2.f();
        } while (bool2);
      } while (!bool1);
      a(localz, paramn);
      if (!bool2) {
        i3++;
      }
    } while (!bool1);
  }
  
  private int a(o paramo, a.c.d paramd, bc parambc, k paramk)
  {
    boolean bool = d.R;
    y localy = parambc.a(paramd);
    if (!bool) {}
    a.c.d locald = localy.c() != null ? localy.c() : paramd;
    k localk = paramo.c(a.f.d.e.w);
    int i1 = ((bool) || (paramk != null)) && (paramk.get(paramd.f()) == paramd.e()) ? 1 : 0;
    if ((bool) || (localk != null))
    {
      if (!bool) {}
      return localk.getInt(locald) + (i1 != 0 ? 1 : 0);
    }
    if (!bool) {
      if (i1 != 0) {
        return 1;
      }
    }
    return 0;
  }
  
  private void a(z paramz, n paramn)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    a.c.q localq = new a.c.q();
    x localx = a.i.db.a();
    Object localObject1 = paramz.h();
    if (((a.c.y)localObject1).e()) {}
    while (bool2)
    {
      localObject2 = (k_)((a.c.y)localObject1).j();
      ((k_)localObject2).g = localq.i();
      localx.a(((k_)localObject2).g, localObject2);
      ((a.c.y)localObject1).f();
      if (!bool1) {
        break;
      }
    }
    localObject1 = new z(paramz);
    ((z)localObject1).a(new i_(null));
    Object localObject2 = paramz.h();
    Object localObject3;
    Object localObject4;
    k_ localk_;
    do
    {
      if (!((a.c.y)localObject2).e()) {
        break;
      }
      localObject3 = (k_)((a.c.y)localObject2).j();
      if (bool2) {
        break label313;
      }
      if (bool1) {
        break label302;
      }
      localObject4 = ((z)localObject1).h();
      do
      {
        do
        {
          if (!((a.c.y)localObject4).e()) {
            break;
          }
          localk_ = (k_)((a.c.y)localObject4).j();
          if (bool1) {
            break label319;
          }
          if (localk_ != localObject3)
          {
            if ((!bool2) && (localk_.b > ((k_)localObject3).b)) {
              break;
            }
            if (bool2) {
              continue;
            }
            if (a((k_)localObject3, localk_))
            {
              if (bool2) {
                continue;
              }
              if (!localq.b(localk_.g, ((k_)localObject3).g)) {
                localq.a(((k_)localObject3).g, localk_.g);
              }
            }
          }
          ((a.c.y)localObject4).f();
        } while (!bool1);
        ((a.c.y)localObject2).f();
      } while (bool2);
    } while (!bool1);
    if (!bool2) {
      label302:
      ((z)localObject1).a(new f_(null));
    }
    label313:
    label319:
    localObject2 = a((z)localObject1);
    if (localObject2 != null) {
      label323:
      paramn.a(((k_)localObject2).f, true);
    }
    label440:
    label442:
    while (bool2)
    {
      localObject3 = ((k_)localObject2).g.o();
      do
      {
        if (!((a.c.w)localObject3).e()) {
          break;
        }
        localObject4 = ((a.c.w)localObject3).d();
        localk_ = (k_)localx.get(localObject4);
        localq.a(localk_.g);
        localk_.g = null;
        ((a.c.w)localObject3).f();
        if (bool2) {
          break label442;
        }
        if (bool1) {
          break label440;
        }
      } while (!bool1);
      localq.a(((k_)localObject2).g);
      if (bool2) {
        break label323;
      }
      localObject2 = a((z)localObject1);
      if (!bool1) {
        break;
      }
    }
  }
  
  private k_ a(z paramz)
  {
    boolean bool2 = d.R;
    boolean bool1 = d.Q;
    double d1 = -1.797693134862316E+308D;
    int i1 = 2147483647;
    Object localObject = null;
    a.c.v localv = paramz.f();
    do
    {
      do
      {
        if (localv == null) {
          break;
        }
        k_ localk_ = (k_)localv.c();
        if (bool2) {
          break label146;
        }
        if (bool1) {
          break label143;
        }
        if (localk_.g != null)
        {
          if ((!bool2) && (localk_.c < d1)) {
            break;
          }
          if (bool2) {
            continue;
          }
          if (localk_.g.c() < i1)
          {
            d1 = localk_.c;
            i1 = localk_.g.c();
            localObject = localv;
          }
        }
        localv = localv.a();
      } while (!bool1);
    } while (bool2);
    if (localObject == null) {
      return null;
    }
    label143:
    label146:
    return (k_)paramz.h(localObject);
  }
  
  private static boolean a(k_ paramk_1, k_ paramk_2)
  {
    boolean bool2 = d.R;
    if (!bool2) {
      if (paramk_1.a != paramk_2.a) {
        if (bool2) {
          break label38;
        }
      }
    }
    label38:
    int i1 = paramk_1.b == paramk_2.b ? 1 : 0;
    if (!bool2) {
      if (i1 != 0) {
        return true;
      }
    }
    if (!bool2) {
      if (paramk_1.a > paramk_2.a)
      {
        if (bool2) {
          break label119;
        }
        if (paramk_1.b < paramk_2.b) {
          break label118;
        }
      }
    }
    if (!bool2)
    {
      if (paramk_1.a >= paramk_2.a) {
        break label122;
      }
      if (bool2) {
        break label119;
      }
    }
    label118:
    label119:
    label122:
    boolean bool1 = paramk_1.b > paramk_2.b;
    return bool1;
  }
  
  private static class h_
  {
    private a.c.e a;
    private a.c.e b;
    
    private h_() {}
    
    public void a(a.c.e parame)
    {
      if ((d.R) || (this.a == null))
      {
        this.a = parame;
        if (!d.Q) {}
      }
      else
      {
        throw new RuntimeException("Proxy already set!");
      }
    }
    
    public void b(a.c.e parame)
    {
      if ((d.R) || (this.b == null))
      {
        this.b = parame;
        if (!d.Q) {}
      }
      else
      {
        throw new RuntimeException("Proxy already set!");
      }
    }
    
    public a.c.e a()
    {
      return this.a;
    }
    
    public a.c.e b()
    {
      return this.b;
    }
    
    h_(uc.0 param0)
    {
      this();
    }
  }
  
  private static class f_
    implements Comparator
  {
    private f_() {}
    
    public int compare(Object paramObject1, Object paramObject2)
    {
      uc.k_ localk_1 = (uc.k_)paramObject1;
      uc.k_ localk_2 = (uc.k_)paramObject2;
      return l.a(localk_2.c, localk_1.c);
    }
    
    f_(uc.0 param0)
    {
      this();
    }
  }
  
  private static class i_
    implements Comparator
  {
    private i_() {}
    
    public int compare(Object paramObject1, Object paramObject2)
    {
      uc.k_ localk_1 = (uc.k_)paramObject1;
      uc.k_ localk_2 = (uc.k_)paramObject2;
      return l.a(localk_1.b, localk_2.b);
    }
    
    i_(uc.0 param0)
    {
      this();
    }
  }
  
  static class k_
  {
    int a;
    int b;
    double c;
    ab d;
    a.c.d f;
    a.c.e g;
    
    k_(int paramInt1, int paramInt2, a.c.d paramd, double paramDouble)
    {
      this.a = paramInt1;
      this.b = paramInt2;
      this.d = new ab();
      this.f = paramd;
      this.c = paramDouble;
    }
  }
  
  private static class g_
  {
    private a.c.d a;
    private cd b;
    private cd c;
    private o d;
    private boolean f;
    
    private g_(a.c.d paramd, o paramo, bc parambc, boolean paramBoolean)
    {
      this.a = paramd;
      this.d = paramo;
      y localy = parambc.a(paramd);
      this.b = (paramBoolean ? localy.f() : localy.d());
      this.c = (paramBoolean ? localy.d() : localy.f());
      this.f = paramBoolean;
    }
    
    public a.c.e a()
    {
      if (!d.R) {
        if (this.f) {
          return this.a.f();
        }
      }
      return this.a.e();
    }
    
    public a.c.e b()
    {
      if (!d.R) {
        if (!this.f) {
          return this.a.f();
        }
      }
      return this.a.e();
    }
    
    public cd c()
    {
      return this.b;
    }
    
    public cd d()
    {
      return this.c;
    }
    
    public a.c.d e()
    {
      return this.a;
    }
    
    public boolean a(a.c.d paramd)
    {
      return this.a.equals(paramd);
    }
    
    public a.d.w f()
    {
      if (!d.R) {
        if (this.f) {
          return this.d.s(this.a);
        }
      }
      return this.d.r(this.a);
    }
    
    public void a(a.d.w paramw)
    {
      boolean bool = d.R;
      if (!bool) {
        if (this.f)
        {
          if (bool) {
            break label46;
          }
          this.d.d(this.a, paramw);
          if (!d.Q) {
            return;
          }
        }
      }
      label46:
      this.d.c(this.a, paramw);
    }
    
    public a.d.w g()
    {
      if (!d.R) {
        if (!this.f) {
          return this.d.s(this.a);
        }
      }
      return this.d.r(this.a);
    }
    
    public void b(a.d.w paramw)
    {
      boolean bool = d.R;
      if (!bool) {
        if (!this.f)
        {
          if (bool) {
            break label46;
          }
          this.d.d(this.a, paramw);
          if (!d.Q) {
            return;
          }
        }
      }
      label46:
      this.d.c(this.a, paramw);
    }
    
    public a.d.w h()
    {
      if (!d.R) {
        if (this.f) {
          return this.d.q(this.a);
        }
      }
      return this.d.p(this.a);
    }
    
    public void c(a.d.w paramw)
    {
      boolean bool = d.R;
      if (!bool) {
        if (this.f)
        {
          if (bool) {
            break label46;
          }
          this.d.b(this.a, paramw);
          if (!d.Q) {
            return;
          }
        }
      }
      label46:
      this.d.a(this.a, paramw);
    }
    
    public a.d.w i()
    {
      if (!d.R) {
        if (!this.f) {
          return this.d.q(this.a);
        }
      }
      return this.d.p(this.a);
    }
    
    public void d(a.d.w paramw)
    {
      boolean bool = d.R;
      if (!bool) {
        if (!this.f)
        {
          if (bool) {
            break label46;
          }
          this.d.b(this.a, paramw);
          if (!d.Q) {
            return;
          }
        }
      }
      label46:
      this.d.a(this.a, paramw);
    }
    
    g_(a.c.d paramd, o paramo, bc parambc, boolean paramBoolean, uc.0 param0)
    {
      this(paramd, paramo, parambc, paramBoolean);
    }
  }
  
  private static class j_
  {
    a.c.e a;
    boolean c;
    int e;
    
    private j_(a.c.e parame, boolean paramBoolean, int paramInt)
    {
      this.a = parame;
      this.c = paramBoolean;
      this.e = paramInt;
    }
    
    j_(a.c.e parame, boolean paramBoolean, int paramInt, uc.0 param0)
    {
      this(parame, paramBoolean, paramInt);
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.d.a.uc

 * JD-Core Version:    0.7.0.1

 */